Linux中Vim的操作方法

Vim文本编辑器

Vim是Linux系统中默认的文本编辑器,类似于Windows中的记事本,但不需要图形化界面也可以使用,不过需要学会如何通过命令去操作Vim编辑器

1.工作模式

  • 命令模式
    • 按ESC键进入命令模式,打开Vim后默认在命令模式中
    • 命令模式下左下角只显示文件名或者什么都显示
    • 用于执行命令, 比如复制行, 粘贴行等等
  • 输入模式
    • 在命令模式下按下键盘的A,I,O等键进入输入模式
    • 用于输入文本, 修改文本
    • a键模式会在光标所在位置后面添加内容,A在行尾添加内容
    • i键模式会在光标所在位置前面添加内容,I在行首添加内容
    • o键会在光标所在行的下方新建一行添加内容,O在上方新建内容
  • 末行模式
    • :键进入末行模式
    • 用于查找文本, 保存修改等功能
    • .光标所在行
    • $最后一行
    • +#光标所在行往后#行
    • $-#倒数第#行
    • %代表全文

2.文本编辑方式

打开文件

  • vim filename:打开文件
  • vim +n filename:打开文件并定位到第n行
  • vim +/(指定内容) filename:打开文件比定位到有指定内容的所在行

关闭文件

  • 末行模式关闭文件方法:
    • q 退出
    • w 保存
    • wq 保存文件退出
    • q! 强制退出
    • w! 强制保存
    • wq! 强制保存退出
    • x 强制保存退出
  • 命令模式退出方法:
    • shift+zz 保存并退出

移动光标

  • 以单词为单位
    • h:向左移动一个字符
    • l:向右移动一个字符
    • j:向下移动一个字符
    • k:向上移动一个字符
    • (num)h:向左移动num个字符
  • 以单词为单位移动
    • w:移动到下一个单词的词首
    • e:移动至当前词的词尾
    • b:移动至当前词的词首
    • ()num)w:移动到第num个词的词首
  • 行内跳转
    • 0:跳转到绝对行首
    • ^:跳转到行首的第一个非空白字符
    • $:转跳到绝对行尾
  • 行间跳转
    • gg:跳转到第一行 (num)gg跳转到第六行
    • G:跳转到最后一行
  • 句子间跳转
    • (跳转到上一个句子
    • )跳转到下一个句子
  • 段落跳转
    • {跳转到上一个段落
    • }跳转到下一个段落
  • 翻屏
    • Ctrl+f:向下翻一屏
    • Ctrl+b:向上翻一屏
    • Ctrl+d:向下翻半屏
    • Ctrl+u:向上翻半屏

字符编辑

编辑命令 意义
x 删除光标所在处的单个字符
#x 删除光标所在及其向后的#个字符
xp 交换光标所在处的字符及其后面字符的位置
d(空格) 删除当前字符
dd 删除这一行
#dd 删除#行
d$ 删除当前位置一直到绝对行尾的位置
d0 删除当前位置一直到绝对行首的位置
d^ 删除从当前位置到非空白字符的行首位置
dw/de/db 以单词为单位删除
D 删除当前光标所在行内容,保留空行
  • (开始首行),(结束行数)d:在末行模式中使用d删除命令,例如:1,5d删除1-5行

  • yy:命令模式中复制行 #yy:复制#行

  • p:粘贴到光标下方或后面

  • P:粘贴到光标上方或前面

  • r:替换一个光标所在字符

  • R:进入替换模式,替换多个字符

  • u:撤销上次操作

  • #u:撤销前#次操作

  • Ctrl+R还原最近一次的撤销操作 重复前一次的编辑操作

  • v:可视化模式,以字符为单位选择,选择后的内容可以进行编辑操作

  • V:以行为单位进行选择,选择后的内容可以进行编辑操作

  • /(文本内容):从上往下查找匹配内容

    • n:从上往下查找匹配到的内容的下一条
  • ?(文本内容):从下往上查找匹配内容

    • N:从下往上查找匹配到的内容的下一条
  • s:查找并替换(末行模式下使用)

    • :(开始范围),(结束范围) s/源内容/替换内容/gi
  • :set nu:显示行号,:set nonu取消行号

3、快捷操作记录

命令模式下操作:

yi + 符号	//复制指定符号中的内容
例如:
yi'			//复制单引号之间的内容
yi(			//复制括号之间的内容

ctrl + p	//将全文中出现过的内容列出,然后选择输入

g+d			//搜索全文中当前光标所在单词,并跳转到第一个搜索到的内容

末行模式下操作:

末行模式下指令可以写入配置文件永久生效。配置文件位置如下:

  • /etc/.vimrc
  • ~/.vimrc
set all				//查看所有末行模式下,可配置参数

//以下三项,用于设置编码格式
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

set fileformat=unix		//将Windows doc格式转换为unix格式

//以下五项一起使用,在编写脚本时使用起来很方便
set tabstop=4			//设置TAB宽度为4个空格
set softtabstop=4		//按一次退格键可以删除4个空格
set shiftwidth=4		//每一级缩进的长度,一般设置成跟 softtabstop一样
set expandtab			//设置缩进用空格来表示
set autoindent			//自动缩进

! + shell命令			//不退出vim执行shell命令

//vim在编辑的时候就可以打开多个文件:
:vs    或者 :vsplit  将当前窗口竖直分割,并在上面新窗口中显示当前文件
:vs filename     将当前窗口竖直分割,新文件在新窗口中显示
:sp    或者:sv或者:split  将当前窗口水平分割,并在左边新窗口中显示当前文件
:sp filename    将当前窗口竖直分割,新文件在左边新窗口中显示
:new    新建文件并竖直分割
:vnew    新建文件并水平分割

//在窗口之间切换可以用鼠标,如果不想用鼠标,切换按键如下:
Ctrl-w-j 切换到下方的分割窗口
Ctrl-w-k 切换到上方的分割窗口
Ctrl-w-l 切换到右侧的分割窗口
Ctrl-w-h 切换到左侧的分割窗口
posted @ 2023-03-02 16:24  RilyLC  阅读(1655)  评论(0编辑  收藏  举报