8

我知道 Vim 中的这些命令:

J:在当前行之后加入下一行
-J:在上一行之后加入当前行

但是如何在当前行之后加入上面的行?

4

3 回答 3

6

您也可以使用前命令

:m-2|j
  • m-2具有将当前行移动到其当前位置上方 2 行的效果;这将切换当前行和上一行的位置。
  • j连接当前行和上面的行,在两者之间插入一个空格。j!如果您不想要空间,请使用。
  • |将 2 个前命令分开

此前命令是编写以下内容的简短方式

:move .-2
:join  
于 2015-10-16T10:43:00.110 回答
1

有很多方法可以做到这一点。一种是......删除上面的行并将其附加到下面的行的末尾:

k move up one line
^ move to the first printable character
y$ yank to the end of the line
"_d get rid of the now useless line by deleting it into the black hole register
$ move to the end of the line
p put the deleted text
于 2012-11-28T16:37:54.823 回答
0

我将以下行添加到我的 .vimrc 中。现在,在正常模式下,我可以按@j 或<leader>j。对我来说领导者是空间。我还看到人们将其设置为 ,。

" join with previous line with @j
let @j="kJ"
nnoremap <leader>j @j

如果您还没有设置领导者,您可以将其设置为空格,如下所示:

let mapleader = " "
let g:mapleader = " "
于 2019-08-09T12:10:16.550 回答