博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux编程-vim在命令行模式下工作

Posted on 2023-03-17 09:54  乔55  阅读(17)  评论(0编辑  收藏  举报

查看函数定义

  • 光标放在函数上,按shift+k,即可跳到函数man手册

插入

  • A:由命令行模式进入编辑模式,在当前行尾插入
  • I:由命令行模式进入编辑模式,在当前行首插入
  • o:由命令行模式进入编辑模式,在当前行下行位置插入
  • O:由命令行模式进入编辑模式,在当前行上行位置插入
  • cc:删除当前行,并由命令行模式进入编辑模式

光标移动-行间操作

  1. gg // 定位到文本首行第1个字符处
  2. G // 定位文本末行第1个字符处
  3. 5+enter // 定位至当前行之后的第5行
  4. ctrl+u // 向上翻半屏,up
  5. ctrl+d // 向下翻半屏,down
  6. ctrl+b // 向上翻全屏,back
  7. ctrl+f // 向下翻全屏,forward
  8. () // 以英语句号为标识,跳转到上一句开头或下一句开头
  9. {} // 以英语句号为标识,跳转到上一段开头或下一名开头
  10. H // 跳到当前窗口最上方
  11. M // 跳到当前窗口中间
  12. L // 跳到当前窗口最下方
  13. fx // 光标从当前位置跳至其之后第1个x字符处,要求x必须与光标起始位置在同一行

光标移动-行内操作,或字符操作

  1. 0 // 跳到行首
  2. $ // 跳到行尾
  3. w // 跳到当前单词的下个单词词首
  4. 3w // 跳到当前单词之后的第3个单词词首
  5. e // 跳到当前单词的下个单词词尾
  6. 3e // 跳到当前单词之后的第3个单词词尾
  7. b // 跳到当前单词的上个单词词首
  8. 3b // 跳到当前单词之前的第3个单词词首
  9. 3h // 向左移动3个字符
  10. 3l // 向右移动3个字符

复制

  1. y // 复制当前行
  2. 5yy // 从当前行起往后复制5行
  3. ygg // 复制当前行至文本首行之间的所有行
  4. yG // 复制当前行至文本末行之间的所有行
  5. yw // 复制当前光标所在处至词尾之间所有字符
  6. yi"" // 将引号号内容复制,可扩展至括号,等待
  7. yfx // 从光标当前位置,找到第1个x处,复制之间所有字符

删除

  1. dfx // 删除光标处至x处所有字符,x须与光标在同一行才成功
  2. D // 从光标处删除至行尾
  3. d0 // 从光标处删除至行首
  4. dd // 删除当前行
  5. 3dd // 删除3行
  6. dgg // 删除至首行
  7. dG // 删除至末行
  8. x // 向后删除一个字符
  9. X // 向前删除一个字符

修改

  1. r // 修改光标处所在字符,修改后仍处在命令行模式

  2. xp // 将光标所在字符与后一个字符交换位置,仍在命令行模式

  3. Xp // 将光标所在字符与前一个字符交换位置,仍在命令行模式

  4. 5xp // 将光标所在处之后的第5个字符移至当前光标处
    // 而原先光标处字符及之后的4个字符依次向后移动1个位置

  5. R // 从当前光标处起,输入新的字符,逐个替换光标处及之后的字符
    // 输入多少个,替换多少个

  6. c+w // 向后删除1个单词,并进入编辑状态,可重新输入新单词

  7. c+3w // 向后删除3个单词,。。。。

  8. c+3b // 同理,向前删除3个单词。。。

  9. c+h // 向左删除一个字符。。。

  10. c+5h // 向左删除5个字符。。。

  11. c+k // 删除当前行及上一行。。。

  12. c+j // 删除当前行及下一行。。。

  13. c+3j // 向下删除包括当前行在内的3行

  14. c+i+"" // 将“”中的内容全部删除。。。,双引号可改成括号等

  15. cfx // 将当前光标处至同行的第1个x处所有字符删掉,包括x字符,并进入编辑状态

撤销与反撤销

  1. u // 撤销上一步
  2. 3u // 撤销上3步
  3. ctrl+r // 反撤销

搜索

  1. /xxx
  2. ?xxx