我知道如何一般在命令模式中移动,特别是跳到线路等。但是跳到我目前所在线路末端的命令是什么?
#1楼
美元符号:$
#2楼
只需$ (美元符号)键。 您可以使用A移动到行尾并切换到编辑模式(追加)。 要跳过最后一个非空白字符,可以按g然后按_键。
A的反面是I (行开头的插入模式),旁边。 只按^会将光标放在行的开头。
#3楼
按A键从行尾开始进入编辑模式。
#4楼
或者有明显的答案:使用结束键转到行尾。
#5楼
“结束”键的优点是它可以在普通和插入模式下工作。
'''仅在正常/命令模式下工作,但它也适用于经典的vi编辑器(很好地知道vim何时不可用)。
#6楼
很多人都说:
- $让你走到终点
但是也:
- ^或_将您带到行中的第一个非空白字符,并且
- 0 (零)让你到行包括的开头。 空白
#7楼
如果当前行环绕可见屏幕到下一行,则可以使用g $到达行的末尾。
#8楼
可能不相关,但是如果你想在当前行之后开始一个新行,你可以在行中的任何地方使用o。
#9楼
最简单的选择是键入$ 。 如果您正在使用文本块,您可能会欣赏命令{和} ,以便分别前后移动一个段落。
#10楼
我习惯于Home / End让我进入插入模式的行的开始和结束(从在Windows中使用,我认为Linux),Mac不支持。 这特别令人讨厌,因为当我在远程系统上使用vim时,我也不能轻易做到。 在经历了一些痛苦的试验和错误之后,我想出了这些.vimrc
行,它们执行相同的操作,但绑定到Ctrl-A表示行的开头,Ctrl-D表示行的结尾。 (出于某种原因,Ctrl-E我猜是保留的,或者至少我无法找到绑定它的方法。)享受。
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
这里有一个很好的图表,其中的ASCII控制字符代码也适用于其他人:
http://www.physics.udel.edu/~watson/scen103/ascii.html
您也可以执行Ctrl-V + Ctrl-,但这不会粘贴到这样的地方。
#11楼
主要问题 - 行尾
$进入行尾,保持命令模式
A到达行尾,切换到插入模式
相反 - 行的开始(技术上是第一个非空白字符)
^进入行的开头,保持在命令模式
我 (大写i)转到行的开头,切换到插入模式
进一步 - 开始行(技术上是第一列,不管空白 )
0 (零)进入行首,保持在命令模式
0i (零后跟小写i)进入行首,切换到插入模式
对于那些开始学习vi的人来说,通过列出并排vi命令到典型的Windows GUI Editor光标移动和快捷键,这里是对vi的一个很好的介绍。
#12楼
- $移动到该行的最后一个字符。
g _转到最后一个非空白字符。
g $到达屏幕行的末尾(当缓冲行包裹在多个屏幕行上时)
#13楼
在许多情况下,当我们在一个字符串中时,我们被双引号括起来,或者在写一个语句时我们不想按下escape并用箭头键转到该行的结尾并按分号( ;
)只是为了结束这条线。 在vimrc文件中写下以下行:
imap <C-l> <Esc>$a
这条线说什么? 它将Ctrl + l映射到一系列命令。 它相当于你一次按下Esc (命令模式), $ (行尾), a (追加)。
#14楼
还要注意线 (或物理线)和屏线之间的区别。 一行由行尾字符(“\\ n”)终止。 屏幕线是指在终端或屏幕中显示为一行字符的任何内容。 如果物理线长于屏幕宽度,则两者分开,这在写电子邮件等时非常常见。
这种区别也出现在行尾命令中。
- $和0分别移动到物理行或段落的结尾或开头:
- g $和g 0分别移动到屏幕行或段落的结尾或开头。
如果您总是喜欢后一种行为,则可以重新映射这样的键:
:noremap 0 g0
:noremap $ g$
#15楼
我看不到macbook的热键在标准终端中使用vim。 希望它会帮助某人。 对于macOS用户(在macbook pro 2018上测试):
fn + ← - 移动到起始行
fn + → - 移动到终点线
fn + ↑ - 向上移动页面
fn + ↓ - 向下移动页面
fn + g - 将光标移动到文档的开头
fn + shift + g - 将光标移动到文档的末尾
对于最后两个命令,有时需要点击两次。