Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 移动到Vi中的行尾字符,超过行中的最后一个字符_Vim_Keyboard Shortcuts_Vi - Fatal编程技术网

Vim 移动到Vi中的行尾字符,超过行中的最后一个字符

Vim 移动到Vi中的行尾字符,超过行中的最后一个字符,vim,keyboard-shortcuts,vi,Vim,Keyboard Shortcuts,Vi,为什么在Vi中,当我点击$时,它会转到行中的最后一个字符,而不是行尾字符?如何在一次击键中到达行尾字符,删除行尾字符的最快方法是什么?您可以使用序列“ADelESC”从行中删除换行字符 A:在第行后面追加 更多信息可在此处找到: 为什么在Vi中,当我点击$时,它会转到行中的最后一个字符,而不是行尾字符 因为这对于你想要实现的任何事情都是足够的 如何在一次击键中到达行尾字符 你基本上不需要这样做。你只需要在下一步做不同的事情,这取决于你想通过换行符实现什么。例如: 删除行尾字符的最快方法是什么

为什么在Vi中,当我点击
$
时,它会转到行中的最后一个字符,而不是行尾字符?如何在一次击键中到达行尾字符,删除行尾字符的最快方法是什么?

您可以使用序列“
A
Del
ESC
”从行中删除换行字符

A:在第行后面追加

更多信息可在此处找到:

为什么在Vi中,当我点击
$
时,它会转到行中的最后一个字符,而不是行尾字符

因为这对于你想要实现的任何事情都是足够的

如何在一次击键中到达行尾字符

你基本上不需要这样做。你只需要在下一步做不同的事情,这取决于你想通过换行符实现什么。例如:

删除行尾字符的最快方法是什么


只需点击
J
即可加入这些行。(如果您启用了
autoindent
或friends,甚至可以为您删除连接行中的缩进。)如果您不想使用刚刚获得的额外空格字符,请使用
x
;或者改用
gJ
开头。

你指的是新行吗?如果你指的是新行,听起来你想加入新行。在行中的任何地方点击J都会删除新行。@Michealtwofish:你应该把它作为一个答案发布…@sum1stolemyname这实际上是对马克问题的一个跟进,亚里士多德的答案更完整:)也请查看
:help've'
,设置一个或多个将允许将光标定位在最后一个字符之后。但是,这并不完美,因为,例如,如果选择的结尾是行中的最后一个字符:(+1:很好的解释。您也可以使用
gJ
而不是
Jx
来进行无空格的连接(具有单个操作的优点,因此
将重复连接而不是字符删除).啊,很好。我没有无意中遇到这个问题。我已经相应地修改了我的答案。我不同意,因为我有一个用例,我想跳过最后一个字符:它是使宏行为一致。@evgenisergev:这缺少太多细节而无法有效地回答。@AristolePagaltzis确实如此。这是一个来自现实生活的用例,当时我是w编写宏以将某些出现的
v1-v2
替换为
subtract(v1,v2)
。这是基于首先使用鼠标选择
v1-v2
,然后调用宏。问题是
`>
通常将光标放在最后一个字符之后,但不是当光标是行中的最后一个字符时,光标刚好放在最后一个字符之前。因此,在这种情况下,宏会将最后一个字符切掉。使用
:set ve=onemore
,它的工作方式是一致的。