Questions tagged [cursor-movement]
Moving the cursor another place in the buffer.
247
questions
2
votes
0answers
42 views
Remove 'jumps' when moving to last and first line in Vim [duplicate]
I have the display option set to lastline so that the last line is shown even if all it doesn't fit on the window. When moving down visual lines with gj to the last line that is only partially visible,...
20
votes
5answers
4k views
How do I move the cursor to the center of current line?
Is there a way I can move my cursor to the middle of the current line? (the middle of the line of text - not middle of screen width)
I was wondering if there was a shortcut similar to M that moves ...
17
votes
2answers
5k views
How to restore the position of the cursor after executing a normal command?
I am trying to code a function that replaces the character in the sixth column of my current line with a dollar symbol ($), but I would like my cursor to remain at the position it was before calling ...
93
votes
6answers
19k views
How do I jump to the location of my last edit?
I often make changes to the middle of a big file, use gg to jump to the top to check something, and then realize I forgot to set a mark where I was editing. Is there a built-in way to jump to the ...
1
vote
2answers
62 views
Move cursor and screen together
I am implementing a smooth scrolling function for <C-u> and <C-d>, which just sleeps for a few milliseconds and then moves the screen up (<C-y>) or down (<C-e>) one line:
...
2
votes
1answer
65 views
How to search & replace the word under cursor without changing position?
This question is related to Do a forward slash search but don't have vim immediately jump to the string? but is not a dup.
I recently updated my Linux box (clicked on the "install updates" button ...
4
votes
1answer
26 views
Cursor Movement in y8k vs y8j [duplicate]
Why does y8j not move the cursor but y8k does move it up?
What .vimrc entry would prevent yanking upwards moving the cursor?
2
votes
2answers
78 views
Jump to a specific line without moving the cursor horizontally
Consider you are editing the left table in Vim. Your cursor (■) is at Line 14, Column 12.
Where you are now Move the cursor
11 +-------+-----+ 11 +-------+-----+
12 | Name | Age | ...
3
votes
3answers
73 views
How can I prevent Vim from centering the line under the cursor on `:edit`
Each time I want to save my work while editing a text file, I enter :write to save the file, and :edit to reload the file, with the side effect of resetting the undo/redo buffer.
However, an unwanted ...
1
vote
0answers
51 views
cursor position jumps to first non-blank character of line unpredictably [closed]
I'm using SpaceVim with Neovim, and often times I'd experience this cursor jumping issue (as if ^ has been pressed in normal mode) while using it. I doubt the bug is on the Neovim end, otherwise a lot ...
1
vote
1answer
56 views
Vim command 0 goes to second column instead of first one
When I press 0 in Normal mode, the cursor goes to the second column and not the first one.
This is not the normal behavior stated in vim's :help 0.
I have tried disabling the remaps to move between ...
3
votes
3answers
131 views
How to go halfway into a line? Percentage navigation within a line
I know that e.g. 50% is a normal mode command to go halfway down a file, but [count]% is line-wise.
How can I get to the halfway point of the line that my cursor is on?
3
votes
3answers
741 views
Moving to the end of the last word on a line
There are commands to distinguish between the beginning of a line (0) and the beginning of the first word of the line (^), basically ignoring leading whitespace. But I can only find one way to move ...
0
votes
1answer
122 views
Jump to nearest pair of brackets with %
I'm looking for a way to change the behaviour of the % key. I know by default it will move the cursor to the corresponding parenthesis or brace, but I'm wondering if I can have it jump to the nearest ...
2
votes
0answers
39 views
Best way to move cursor to start of variable declaration?
There are a lot of times were I have something like int x = someFunction(a, b, c); If my cursor is somewhere after the equals sign, is there a good way to put the cursor on the “s” in someFunction?
...
3
votes
1answer
63 views
Register CursorMoved on certain key press and disable when move to new line
I'm trying to write a function that will highlight searches performed with the f and F keys.
I currently have a solution here thanks to @filbranden, but would like to further improve it to only ...
4
votes
1answer
838 views
Jump *to* end of paragraph?
I often find I want to quickly select all the characters in an aligned column, something like this:
this.p = obj.['propery'];
this.prop = obj.['proper'];
this.proper = obj.['...
3
votes
1answer
99 views
How to treat underscores as whitespace when skipping to the next word? [duplicate]
Let's consider an example where the cursor is at the beginning of the text one_two three.
Underscores are treated as part of the word, so w moves right to the first letter of three.
With set ...
1
vote
2answers
123 views
How to move a cursor to the last line with auto indent?
Assume autoindent is set, and you have the buffer below. Note the cursor is represented as I.
for i in range(1, 6):
print(i)I
When you hit Enter key, you get this.
for i in range(1, 6):
...
0
votes
2answers
66 views
Why does `:m+1` not move two lines down when `:m-2` moves one line up?
In the help for move:
:[range]m[ove] {address} *:m* *:mo* *:move* *E134*
Move the lines given by [range] to below the line
given ...
2
votes
1answer
25 views
How to make comma and semi-colon direction-insensitive of the latest f,F,t,T command
I can customize the n and N keys to always search backward and forward respectively irrespective of what the last search direction was with the following commands:
nnoremap <expr> n (v:...
3
votes
1answer
785 views
How to replace a word with spaces
Suppose I have the following text:
This is a test of the emergency broadcast system
What I want to do is delete the word "test" and replace it with four spaces:
This is a of the emergency ...
5
votes
2answers
117 views
WORD movement across lines
Consider the following text snippet:
value1,
value2
Now, if the cursor is at (1,1) (the 'v' of value1), W takes me to (2,5) (the 'v' of value2) which is as expected. But if I do dW at the same ...
1
vote
2answers
336 views
How to get PageUp and PageDown to return to the exact same character?
Because the default Ctrl-B/F or PageUp/Down behaviour usually leaves the cursor somewhere other than where it started, I remapped PageUp and PageDown in my .vimrc to simply move up/down 25 lines.
...
10
votes
2answers
11k views
Go to column number?
I often use something like :80 to quickly go to a line (80 for example).
I'm in a unique situation where I want to go to column 80, to see if lines are too long in files.
Any quick way to do this in ...
1
vote
2answers
248 views
How to enable disabled movement keys in netrw?
Recently I started using and learning Vim. I turned off movement keys in my .vimrc file like this:
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
...
2
votes
1answer
60 views
change inner backslashed quotes
I know the ci" motion and others :changes, but I need something like a ci\" in order to change inner a backslashed quotes. Assuming * as the cursor position:
a = "message says: \"fo*o bar\""
I would ...
22
votes
1answer
2k views
How to make movements respect camelCase or snake_case?
It is common to use either camelCase or snake_case to separate multiple words which form an identifier. It would be nice if the "word" movements (b, w, e) would detect those inner-identifier ...
2
votes
1answer
186 views
How to scroll two vertical splits at the same time?
I am not sure if it is even possible but, when I am working with vertical splits, sometimes, I want both of them to scroll up/down at the same time rather than using this combination:
scroll down ...
6
votes
2answers
881 views
Extend visual selection til the last character on the line (excluding the new line character)
In the visual mode the $ extends selection til the end of the line including the new line character at the end, so I need to press an additional h to exclud the new line character.
Is it possible to ...
-1
votes
1answer
43 views
how to move to the end of a string / beginning of string for a macro
i want to write a makro and need to know how i can move to the end and to the beginning of a string, respektively i want to visually select the link so that i can surround it with brackets.
my line ...
32
votes
8answers
2k views
How do I move vertically until reaching a non-whitespace character?
In a very long file with (accurately-) indented code, it may be helpful to move directly to a line of text above or below the cursor which delimits the indenting.
(One way of doing this could be via ...
2
votes
2answers
381 views
why ctrl-h and ctrl-l behaves differently in normal mode?
In normal mode, I tried CTRL-H and CTRL-L, and I found that the former worked while the latter didn't do anything at all.
I wonder why their behaviors are not the same?
2
votes
1answer
265 views
Keep relative cursor position after indenting with >>
Can I setup >> to keep the relative cursor position?
For example, assuming the line is
def fun(<cursor>):
can I make >> result in
def fun(<cursor>):
?
Obviously, with ...
3
votes
1answer
118 views
How to get w word and b back to treat hyphens and underscores like spaces?
I currently have this in my vimrc
set iskeyword+=-
But when I press w or b my cursor skips over hyphens. Am I misunderstanding iskeyword?
How do I get word and back commands to treat hyphens (and ...
1
vote
0answers
27 views
]m moves to class definitions not method definitions inside nested classes
I am editing a java file.
]m takes me from one class to the next, instead of to the next method definition.
How do I get it to take me between methods?
Example:
public class Baz {
public class ...
1
vote
0answers
84 views
I want to improve my cursor movement [closed]
The thing that slows me down the most when using VIM is getting my cursor to where I want it to be.
How should I practise improving this? Are there tools that teach you movement tricks and force you ...
1
vote
1answer
93 views
Is there any `setvirtcol()`?
I'm looking for a way to precisely set the cursor position given a virtual column.
Is there only :exe "normal! ".vcol."|"?
NB: I need virtual columns as they're the only thing that I'm able to ...
18
votes
5answers
2k views
After copying a visual selection to keyboard, return to original location
My cursor is in the middle of a paragraph when I decide suddenly I need to copy that paragraph:
So I type vip to select the paragraph visually:
Now I hit cmd+C to copy to clipboard (this may vary on ...
3
votes
3answers
3k views
Control - Arrow to Skip Over Text
I am new to Vim, however I am learning to love it. As a former/current Windows user, there is one shortcut that I depend on and would like to configure in Vim.
On windows I can use ctrl-arrow left ...
3
votes
1answer
332 views
How to jump to a character offset in a buffer?
Vim has the command :goto to go to a byte offset in a buffer.
Is there an equivalent for a character offset? If not, is there a better way to implement it than repeatedly testing the cursor's ...
2
votes
1answer
100 views
What is the difference between ^ and _ for cursor movement
They both seem to move the cursor to the first non-blank character of the current line and I wonder what was the reason for duplicating this functionality
1
vote
1answer
30 views
How to show cursor in the middle of the window despite being at the end of the file?
I am editing at the bottom of a file, but I want the line I'm editing to appear in the middle of the screen. Is this possible without adding a bunch of spurious newlines at the end of the file?
2
votes
1answer
76 views
In visual mode, how can I select to either the next section or the end of the file?
I'm having trouble selecting sections in a file in a visual mode macro to separately perform some action on each section. Here's an example file:
[insert introduction here] ...
....
------
section .....
3
votes
2answers
83 views
cmake movement plugin
I'm wondering, if there's a way to move with % in CMakeLists.txt files between foreach and endforeach, if and endif, function and endfunction, …
googeling I only found plugins that allow calling ...
1
vote
0answers
200 views
Jump from tag-to-tag in xml?
I'm using emmet-vim which says that it can work in xml files but I can't seem to navigate between tags.
Say I have this structure:
<dependency>
<groupId>com.google</groupId>
&...
0
votes
2answers
299 views
Why is Vim pasting after the cursor?
I don't understand why is Vim pasting after the cursor; for example in this example (where the cursor is at the start):
|The quick brown fox jumps over a lazy dog
^
I would like to exchange fox and ...
0
votes
1answer
28 views
Template plugin(?) to jump to next occurance of '<++>'
I just noticed that my current box with vim is missing a crucial feature, but I am unable to bring it back.
A long time ago I had a vim setup where I could press Ctrl+J (IIRC) and then my cursor ...
1
vote
2answers
62 views
Changing content within the specified [count] number of braces for each line
I need to change the content within a [count] number of braces for each line in my buffer.
1 {Lorem} ipsum dolor {amet} blah blah {change this text} more blah blah
2 Hello. The {sun} rises in {the} ...
19
votes
3answers
1k views
How can I get ‘n’ to go forward even if I started searching with ‘?’ or ‘#’?
Vim has (at least) two sets of commands that search in opposite directions. Typing / and then a pattern will search forward through the document for the pattern; typing ? and then a pattern will ...