vim删除后退技巧

时间:2009-09-03 14:43:11

标签: vim

  • 如何删除左侧的单词?换句话说,当光标位于光标的末尾时删除该字。
  • 如何删除字符开头的字符?
  • 如何删除左边的第一个空格?

  • 涉及删除字词的其他任何技巧?

8 个答案:

答案 0 :(得分:130)

通常,d< motion>在< motion>之后将从当前位置删除到结束位置。这意味着:

  1. d< LEFTARROW>将删除当前和左侧字符
  2. d $将从当前位置删除到行尾
  3. d ^将从当前向后删除到第一个非空白字符
  4. d0将从当前向后删除到行首
  5. dw删除当前单词结尾的电流(包括尾随空格)
  6. db删除当前单词开头的当前数据
  7. 阅读this以了解可以与'd'命令结合使用的所有内容。

答案 1 :(得分:51)

我多次参加过这种情况。我想摆脱第10行中的所有空格,以便在逗号后用第9行连接。

enter image description here

这基本上是VIM中的简单行连接。

kJ可以解决问题(见下文)

Vim Join Lines

答案 2 :(得分:26)

要回答第3点,diwdaw非常出色。

答案 3 :(得分:19)

在插入模式下:

  • ^ W
  • 无法回答我的想法; - )

否则:

  • DW
  • V0X
  • 无法回答我的想法; - )

答案 4 :(得分:14)

在命令模式下:

  1. bdw,返回删除字词。
  2. d^(第一个非空白),d0(第一个字符)
  3. BdW(转到第一个空格删除到下一个空格)
  4. (社区维基,随意破解。)

答案 5 :(得分:14)

  1. db(如果光标位于单词之后)或bdw
  2. d0(如果要删除第一个非空白字符,则为d^
  3. dE d t 空格要删除到第一个空格或 d / \ s 输入删除下一个空格字符。
  4. 修改

    由于问题已被更改,因此将3删除到第一个空白字符 在左边,我的答案应改为:

    1. dB d Shift T Space 删除回第一个空格或< kbd> d \ s 输入删除前一个空格字符。
    2. 请参阅:

      :help motion.txt
      :help WORD
      

答案 6 :(得分:3)

我觉得答案还不完整:

通常,通常使用d<motion>开始删除操作,很少使用x

  

注意:未指定N时,其行为类似于N=1(删除单个字符)

离散字符:

<N>x-删除右侧的N个字符

d<N><left-arrow>-删除左侧的N个字符

d<N><right-arrow>-删除右侧的N个字符

单词边界:

  

注意:前一个/后一个单词是光标下方的单词

d<N>b-从第N个单词的开头删除到当前位置

d<N>e-从当前位置删除到第N个单词的末尾

d<N>w-与d<N>e相同,但包括尾随空格

diw-删除光标下方的整个单词

daw-与diw相同,但包括尾随空格

线边界:

d0-从行首删除到当前位置

d^-从第一个非空白char删除到当前位置

d$-从当前位置删除到行尾

答案 7 :(得分:1)

/ <CR>x

(向前搜索一个空格,按Enter键去那里,x去删除)

可能有更神奇的方法,但我不知道。