簡體   English   中英

如何在 Vim 中將當前行移動到其上方的行后面?

[英]How to move current line behind the line above it in Vim?

我如何將當前線移動到它上面的線后面? 說我有:

    function foo()
      {
      ^ Cursor is here

並想把它變成:

function foo() {

我還是 vim 的新手,所以我現在要做的是i[backspace][backspace]...etc. :)

幾種方式:

  • 在正常模式下, kJkgJVkJVkgJ (最后兩個命令在可視模式下執行相同的操作)。
    k將轉到上一行, JgJ將與下一行合並( J插入一個空格, gJ只是刪除 EOL 字符)
  • 在命令模式下, :-,j:-,j!
    -,.-1,.縮寫范圍.-1,. 意思是“從上一行到當前行”
    j是用於連接范圍內的行的 ex 命令。 banged(帶感嘆號)版本的作用類似於 gJ。
  • 使用替換: :-s/\\s*\\n\\s*//
    -表示上一行
    :s你可能知道,否則你應該運行vimtutor /\\s*\\n\\s*/是盡可能多的空格加上行終止符(根據文件格式匹配不同的字節序列:LF、CR 或 CRLF)加上盡可能多的空格的模式。
    在這里,替換模式是空的。
  • 在插入模式下,按CTRL-W兩次(每次刪除一個單詞,或一行中的前導空格或換行符)(如ib.建議的,這取決於backspace設置)。

參考:

  • :help J
  • :help gJ
  • :help k
  • :help range
  • :help :j
  • :help pattern
  • :help i_CTRL-W

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM