How do I view the mark ring?
Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b
or viewing the kill ring with the function browse-kill-ring
or viewing the jump list (in info mode) with L
?
It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.
mark-ring
add a comment |
Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b
or viewing the kill ring with the function browse-kill-ring
or viewing the jump list (in info mode) with L
?
It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.
mark-ring
add a comment |
Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b
or viewing the kill ring with the function browse-kill-ring
or viewing the jump list (in info mode) with L
?
It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.
mark-ring
Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b
or viewing the kill ring with the function browse-kill-ring
or viewing the jump list (in info mode) with L
?
It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.
mark-ring
mark-ring
asked Jan 12 at 17:02


extremeaxe5extremeaxe5
1533
1533
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
C-h v mark-ring
C-h v global-mark-ring
A ring is an elisp data structure. It can be created by make-ring
function and assigned to any variable.
Each buffer remembers previous locations of the mark, in the “mark
ring”.
That “mark ring” is an elisp variable mark-ring
that is a buffer local variable(each buffer has its own value of that variable). mark-ring
is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.
To view value of mark-ring
variable in a current buffer: C-h v mark-ring
Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring
variable to contain its marker ring:
(defvar xref--marker-ring (make-ring xref-marker-ring-length)
"Ring of markers to implement the marker stack.")
ggtags uses it too.
To view value of global-mark-ring
(not local, shared by all buffers): C-h v global-mark-ring
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
add a comment |
The helm
package offer the M-x helm-all-mark-rings
and M-x helm-mark-ring
to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)
add a comment |
If you use Icicles then you can use C-SPC
to go to any marker, choosing it using completion against the text of its line.
With no prefix arg or a positive prefix arg
C-SPC
is justset-mark-command
, as usual in Emacs (set the mark).C-0 C-SPC
(prefix arg 0) invokes commandicicle-goto-any-marker
, which lets you choose any marker in any buffer.C-- C-SPC
(negative prefix arg) invokesicicle-goto-marker
, which lets you choose a marker in the current buffer.
Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).
C-h f icicle-goto-marker
:
icicle-goto-marker
is an interactive Lisp function in
icicles-cmd2.el
.
It is bound to
menu-bar search goto icicles icicle-goto-marker
.
(icicle-goto-marker)
Go to a marker in this buffer, choosing it by the line that includes it.
If
crosshairs.el
is loaded, then the target position is highlighted.
By default, candidates are sorted in marker order, that is, with
respect to their buffer positions. UseC-M-,
orC-,
to change the
sort order.
During completion you can use these keys:
C-RET
- Goto marker named by current completion candidate
C-down
- Goto marker named by next completion candidate
C-up
- Goto marker named by previous completion candidate
C-next
- Goto marker named by next apropos-completion candidate
C-prior
- Goto marker named by previous apropos-completion candidate
C-end
- Goto marker named by next prefix-completion candidate
C-home
- Goto marker named by previous prefix-completion candidate
<S-delete>
- Delete marker named by current completion candidate
When candidate action and cycling are combined (e.g.
C-next
), option
icicle-act-before-cycle-flag
determines which occurs first.
With prefix
C-M-
instead ofC-
, the same keys (C-M-mouse-2
,
<C-M-f1>
,C-M-down
, and so on) provide help about candidates.
Use
mouse-2
,RET
, orS-RET
to choose a candidate as the final
destination, orC-g’
to quit. This is an Icicles command - see
commandicicle-mode
.
See also commands
icicle-goto-any-marker
and
icicle-goto-global-marker
.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "583"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47073%2fhow-do-i-view-the-mark-ring%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
C-h v mark-ring
C-h v global-mark-ring
A ring is an elisp data structure. It can be created by make-ring
function and assigned to any variable.
Each buffer remembers previous locations of the mark, in the “mark
ring”.
That “mark ring” is an elisp variable mark-ring
that is a buffer local variable(each buffer has its own value of that variable). mark-ring
is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.
To view value of mark-ring
variable in a current buffer: C-h v mark-ring
Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring
variable to contain its marker ring:
(defvar xref--marker-ring (make-ring xref-marker-ring-length)
"Ring of markers to implement the marker stack.")
ggtags uses it too.
To view value of global-mark-ring
(not local, shared by all buffers): C-h v global-mark-ring
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
add a comment |
C-h v mark-ring
C-h v global-mark-ring
A ring is an elisp data structure. It can be created by make-ring
function and assigned to any variable.
Each buffer remembers previous locations of the mark, in the “mark
ring”.
That “mark ring” is an elisp variable mark-ring
that is a buffer local variable(each buffer has its own value of that variable). mark-ring
is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.
To view value of mark-ring
variable in a current buffer: C-h v mark-ring
Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring
variable to contain its marker ring:
(defvar xref--marker-ring (make-ring xref-marker-ring-length)
"Ring of markers to implement the marker stack.")
ggtags uses it too.
To view value of global-mark-ring
(not local, shared by all buffers): C-h v global-mark-ring
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
add a comment |
C-h v mark-ring
C-h v global-mark-ring
A ring is an elisp data structure. It can be created by make-ring
function and assigned to any variable.
Each buffer remembers previous locations of the mark, in the “mark
ring”.
That “mark ring” is an elisp variable mark-ring
that is a buffer local variable(each buffer has its own value of that variable). mark-ring
is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.
To view value of mark-ring
variable in a current buffer: C-h v mark-ring
Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring
variable to contain its marker ring:
(defvar xref--marker-ring (make-ring xref-marker-ring-length)
"Ring of markers to implement the marker stack.")
ggtags uses it too.
To view value of global-mark-ring
(not local, shared by all buffers): C-h v global-mark-ring
C-h v mark-ring
C-h v global-mark-ring
A ring is an elisp data structure. It can be created by make-ring
function and assigned to any variable.
Each buffer remembers previous locations of the mark, in the “mark
ring”.
That “mark ring” is an elisp variable mark-ring
that is a buffer local variable(each buffer has its own value of that variable). mark-ring
is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.
To view value of mark-ring
variable in a current buffer: C-h v mark-ring
Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring
variable to contain its marker ring:
(defvar xref--marker-ring (make-ring xref-marker-ring-length)
"Ring of markers to implement the marker stack.")
ggtags uses it too.
To view value of global-mark-ring
(not local, shared by all buffers): C-h v global-mark-ring
edited Jan 14 at 13:44
answered Jan 12 at 18:08
Alexandr KarbivnichiyAlexandr Karbivnichiy
40924
40924
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
add a comment |
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.
– extremeaxe5
Jan 13 at 9:52
add a comment |
The helm
package offer the M-x helm-all-mark-rings
and M-x helm-mark-ring
to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)
add a comment |
The helm
package offer the M-x helm-all-mark-rings
and M-x helm-mark-ring
to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)
add a comment |
The helm
package offer the M-x helm-all-mark-rings
and M-x helm-mark-ring
to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)
The helm
package offer the M-x helm-all-mark-rings
and M-x helm-mark-ring
to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)
answered Jan 12 at 18:11
RémiRémi
1,294613
1,294613
add a comment |
add a comment |
If you use Icicles then you can use C-SPC
to go to any marker, choosing it using completion against the text of its line.
With no prefix arg or a positive prefix arg
C-SPC
is justset-mark-command
, as usual in Emacs (set the mark).C-0 C-SPC
(prefix arg 0) invokes commandicicle-goto-any-marker
, which lets you choose any marker in any buffer.C-- C-SPC
(negative prefix arg) invokesicicle-goto-marker
, which lets you choose a marker in the current buffer.
Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).
C-h f icicle-goto-marker
:
icicle-goto-marker
is an interactive Lisp function in
icicles-cmd2.el
.
It is bound to
menu-bar search goto icicles icicle-goto-marker
.
(icicle-goto-marker)
Go to a marker in this buffer, choosing it by the line that includes it.
If
crosshairs.el
is loaded, then the target position is highlighted.
By default, candidates are sorted in marker order, that is, with
respect to their buffer positions. UseC-M-,
orC-,
to change the
sort order.
During completion you can use these keys:
C-RET
- Goto marker named by current completion candidate
C-down
- Goto marker named by next completion candidate
C-up
- Goto marker named by previous completion candidate
C-next
- Goto marker named by next apropos-completion candidate
C-prior
- Goto marker named by previous apropos-completion candidate
C-end
- Goto marker named by next prefix-completion candidate
C-home
- Goto marker named by previous prefix-completion candidate
<S-delete>
- Delete marker named by current completion candidate
When candidate action and cycling are combined (e.g.
C-next
), option
icicle-act-before-cycle-flag
determines which occurs first.
With prefix
C-M-
instead ofC-
, the same keys (C-M-mouse-2
,
<C-M-f1>
,C-M-down
, and so on) provide help about candidates.
Use
mouse-2
,RET
, orS-RET
to choose a candidate as the final
destination, orC-g’
to quit. This is an Icicles command - see
commandicicle-mode
.
See also commands
icicle-goto-any-marker
and
icicle-goto-global-marker
.
add a comment |
If you use Icicles then you can use C-SPC
to go to any marker, choosing it using completion against the text of its line.
With no prefix arg or a positive prefix arg
C-SPC
is justset-mark-command
, as usual in Emacs (set the mark).C-0 C-SPC
(prefix arg 0) invokes commandicicle-goto-any-marker
, which lets you choose any marker in any buffer.C-- C-SPC
(negative prefix arg) invokesicicle-goto-marker
, which lets you choose a marker in the current buffer.
Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).
C-h f icicle-goto-marker
:
icicle-goto-marker
is an interactive Lisp function in
icicles-cmd2.el
.
It is bound to
menu-bar search goto icicles icicle-goto-marker
.
(icicle-goto-marker)
Go to a marker in this buffer, choosing it by the line that includes it.
If
crosshairs.el
is loaded, then the target position is highlighted.
By default, candidates are sorted in marker order, that is, with
respect to their buffer positions. UseC-M-,
orC-,
to change the
sort order.
During completion you can use these keys:
C-RET
- Goto marker named by current completion candidate
C-down
- Goto marker named by next completion candidate
C-up
- Goto marker named by previous completion candidate
C-next
- Goto marker named by next apropos-completion candidate
C-prior
- Goto marker named by previous apropos-completion candidate
C-end
- Goto marker named by next prefix-completion candidate
C-home
- Goto marker named by previous prefix-completion candidate
<S-delete>
- Delete marker named by current completion candidate
When candidate action and cycling are combined (e.g.
C-next
), option
icicle-act-before-cycle-flag
determines which occurs first.
With prefix
C-M-
instead ofC-
, the same keys (C-M-mouse-2
,
<C-M-f1>
,C-M-down
, and so on) provide help about candidates.
Use
mouse-2
,RET
, orS-RET
to choose a candidate as the final
destination, orC-g’
to quit. This is an Icicles command - see
commandicicle-mode
.
See also commands
icicle-goto-any-marker
and
icicle-goto-global-marker
.
add a comment |
If you use Icicles then you can use C-SPC
to go to any marker, choosing it using completion against the text of its line.
With no prefix arg or a positive prefix arg
C-SPC
is justset-mark-command
, as usual in Emacs (set the mark).C-0 C-SPC
(prefix arg 0) invokes commandicicle-goto-any-marker
, which lets you choose any marker in any buffer.C-- C-SPC
(negative prefix arg) invokesicicle-goto-marker
, which lets you choose a marker in the current buffer.
Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).
C-h f icicle-goto-marker
:
icicle-goto-marker
is an interactive Lisp function in
icicles-cmd2.el
.
It is bound to
menu-bar search goto icicles icicle-goto-marker
.
(icicle-goto-marker)
Go to a marker in this buffer, choosing it by the line that includes it.
If
crosshairs.el
is loaded, then the target position is highlighted.
By default, candidates are sorted in marker order, that is, with
respect to their buffer positions. UseC-M-,
orC-,
to change the
sort order.
During completion you can use these keys:
C-RET
- Goto marker named by current completion candidate
C-down
- Goto marker named by next completion candidate
C-up
- Goto marker named by previous completion candidate
C-next
- Goto marker named by next apropos-completion candidate
C-prior
- Goto marker named by previous apropos-completion candidate
C-end
- Goto marker named by next prefix-completion candidate
C-home
- Goto marker named by previous prefix-completion candidate
<S-delete>
- Delete marker named by current completion candidate
When candidate action and cycling are combined (e.g.
C-next
), option
icicle-act-before-cycle-flag
determines which occurs first.
With prefix
C-M-
instead ofC-
, the same keys (C-M-mouse-2
,
<C-M-f1>
,C-M-down
, and so on) provide help about candidates.
Use
mouse-2
,RET
, orS-RET
to choose a candidate as the final
destination, orC-g’
to quit. This is an Icicles command - see
commandicicle-mode
.
See also commands
icicle-goto-any-marker
and
icicle-goto-global-marker
.
If you use Icicles then you can use C-SPC
to go to any marker, choosing it using completion against the text of its line.
With no prefix arg or a positive prefix arg
C-SPC
is justset-mark-command
, as usual in Emacs (set the mark).C-0 C-SPC
(prefix arg 0) invokes commandicicle-goto-any-marker
, which lets you choose any marker in any buffer.C-- C-SPC
(negative prefix arg) invokesicicle-goto-marker
, which lets you choose a marker in the current buffer.
Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).
C-h f icicle-goto-marker
:
icicle-goto-marker
is an interactive Lisp function in
icicles-cmd2.el
.
It is bound to
menu-bar search goto icicles icicle-goto-marker
.
(icicle-goto-marker)
Go to a marker in this buffer, choosing it by the line that includes it.
If
crosshairs.el
is loaded, then the target position is highlighted.
By default, candidates are sorted in marker order, that is, with
respect to their buffer positions. UseC-M-,
orC-,
to change the
sort order.
During completion you can use these keys:
C-RET
- Goto marker named by current completion candidate
C-down
- Goto marker named by next completion candidate
C-up
- Goto marker named by previous completion candidate
C-next
- Goto marker named by next apropos-completion candidate
C-prior
- Goto marker named by previous apropos-completion candidate
C-end
- Goto marker named by next prefix-completion candidate
C-home
- Goto marker named by previous prefix-completion candidate
<S-delete>
- Delete marker named by current completion candidate
When candidate action and cycling are combined (e.g.
C-next
), option
icicle-act-before-cycle-flag
determines which occurs first.
With prefix
C-M-
instead ofC-
, the same keys (C-M-mouse-2
,
<C-M-f1>
,C-M-down
, and so on) provide help about candidates.
Use
mouse-2
,RET
, orS-RET
to choose a candidate as the final
destination, orC-g’
to quit. This is an Icicles command - see
commandicicle-mode
.
See also commands
icicle-goto-any-marker
and
icicle-goto-global-marker
.
answered Jan 12 at 19:48


DrewDrew
48k463105
48k463105
add a comment |
add a comment |
Thanks for contributing an answer to Emacs Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47073%2fhow-do-i-view-the-mark-ring%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown