Linux(vi基本用法)及命令行编辑快捷键

来源:互联网 发布:供应链金融软件系统 编辑:程序博客网 时间:2024/06/17 05:21
在Linux下,可以键入vimtutor命令,有一个包含实操的vim教程。
vim +#  要打开的文件名  (其中#是打开文件时光标定位的位置行号)
vim +/内容  要打开的文件名 (/内容是打开文件时光标定位到这个内容位置)
vim a.txt b.txt c.txt  (可以打开多个文件,输出n是切换下一文件,N是上一个文件)
1.VI的三种命令模式
  1)Command(命令)模式,用于输入命令;
  2)Insert(插入)模式,用于插入文本;
  3)Visual(可视)模式,用于视化的的高亮并选定正文;

2.文件的保存和退出
  2.1):w  保存;
  2.2):w  filename 另存为filename;
  2.3):wq! 保存退出;(!是强制的意思)
  2.4):wq! filename 注:以filename为文件名保存后退出;
  2.5):q! 不保存退出;
  2.6):x 应该是保存并退出 ,功能和:wq!相同
  2.7):数字  定位文件的第几行
  2.8):ls  列出所有打开的文件名
  2.8):n  切换到下一个文件, :N  切换到上一个文件

3.光标移动
  3.1)j 向下移动一行;
  3.2)k 向上移动一行;

  3.3)h 向左移动一个字符;
  3.4)l 向右移动一个字符;

  3.5)ctrl+b  向上移动一屏;
  3.6)ctrl+f  向下移动一屏;

  3.7)向上箭头    向上移动;
  3.8)向下箭头    向下移动;
  3.9)向左箭头    向左移动;
  3.10)向右箭头    向右移动;

  3.11)$ 移至行尾
  3.12)gg 移动至文档开始
  3.13)GG 移动到文档尾部
  3.14)ctrl + f 向前翻页
  3.15)ctrl + b 向后翻页

4.插入模式
  4.1)i  在光标之前插入;
  4.2)a  在光标之后插入;

  4.3)I 在光标所在行的行首插入;
  4.4)A  在光标所在行的行末插入;

  4.5)O  在光标所在的行的上面插入一行;
  4.6)o  在光标所在的行的下面插入一行;

  4.7)s  删除光标后的一个字符,然后进入插入模式;
  4.8)S  删除光标所在的行,然后进入插入模式;

5.文本内容的删除
  5.1)x 一个字符;
  5.2)#x 删除几个字符,#表示数字,比如3x;
  5.3)dw 删除一个单词;
  5.4)#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
  5.5)dd 删除一行;
  5.6)#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
  5.7)d$ 删除光标到行尾的内容;
  5.8)J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

6.恢复修改及恢复删除
  6.1)u  撤消修改或删除操作;

7.可视模式
  可视模式是vim提供的,vi没有可视模式,如果我们想键入vi ***.txt时调用vim,则可以输入以下命令:
  echo alias vi=vim >> /etc/profile
  下次登录后,使用vi命令打开文件就直接调用vim了

8.复制及粘帖
  8.1)yy 复制当前行
  8.2)#yy 复制多行,#用数字表示,比如3yy表示复制三行;
  8.3)如果在可视模式下,y可以复制选定的内容

  8.4)p在光标之后粘帖, P是光标之上
  8.5) shift + p 在光标之前粘帖

9.查找和替换
  9.1)/SEARCH  注:正向查找,按n键把光标移动到下一个符合条件的地方;
  9.2)?SEARCH  注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

  9.3):s /SEARCH/REPLACE/g  注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
  9.4):%s /SEARCH/REPLACE  注:把文档中所有SEARCH替换成REPLACE;

  9.5):#,# s /SEARCH/REPLACE/g  注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;


-------------------------------------------------------------------------------------------------------

ctrl + ? 撤消前一次输入
ctrl + c 另起一行
ctrl + r 输入单词搜索历史命令
ctrl + u 删除光标前面所有字符相当于VIM里d shift+^
ctrl + k 删除光标后面所有字符相当于VIM里d shift+$

删除
ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl
ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh
ctrl + k 删除光标后面所有字符相当于VIM里d shift+$
ctrl + u 删除光标前面所有字符相当于VIM里d shift+^
ctrl + w 删除光标前一个单词相当于VIM里db
ctrl + y 恢复ctrl+u上次执行时删除的字符
ctrl + ? 撤消前一次输入
alt + r 撤消前一次动作
alt + d 删除光标所在位置的后单词

移动
ctrl + a 将光标移动到命令行开头相当于VIM里shift+^
ctrl + e 将光标移动到命令行结尾处相当于VIM里shift+$
ctrl + f 光标向后移动一个字符相当于VIM里l
ctrl + b 光标向前移动一个字符相当于VIM里h
ctrl + 方向键左键 光标移动到前一个单词开头
ctrl + 方向键右键 光标移动到后一个单词结尾
ctrl + x 在上次光标所在字符和当前光标所在字符之间跳转
alt + f 跳到光标所在位置单词尾部

替换
ctrl + t 将光标当前字符与前面一个字符替换
alt + t 交换两个光标当前所处位置单词和光标前一个单词
alt + u 把光标当前位置单词变为大写
alt + l 把光标当前位置单词变为小写
alt + c 把光标当前位置单词头一个字母变为大写
^oldstr^newstr 替换前一次命令中字符串

历史命令编辑
ctrl + p 返回上一次输入命令字符
ctrl + r 输入单词搜索历史命令
alt + p 输入字符查找与字符相接近的历史命令
alt + > 返回上一次执行命令

其它
ctrl + s 锁住终端
ctrl + q 解锁终端
ctrl + l 清屏相当于命令clear
ctrl + c 另起一行
ctrl + i 类似TAB健补全功能
ctrl + o 重复执行命令
alt + 数字键 操作的次数



0 0