Vim基本操作

Vim基本操作

Vim一般认为有三种模式

  • 命令模式:该模式下是不能直接对文件进行编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件默认进入的模式】
  • 编辑模式(输入模式):该模式下可以对文件的内容进行编辑
  • 末行模式(尾行模式):该模式下可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)

Vim的打开文件方式

  • 【vim 文件路径】:打开指定的文件
  • 【vim +数字 文件路径】:打开指定的文件,并且将光标移动到指定行
  • 【vim +/关键字 文件路径】:打开指定的文件,并且高亮显示关键词
  • 【vim 文件路径1 文件路径2 文件路径3】:同时打开多个文件

Vim的保存和关闭命令

  • 在没有输入其他键的情况下,按下 “:q” 然后 “enter” 键退出
  • 有修改之后,按 ESC 键 跳到命令模式,然后:
    • :x:保存并退出,类似【:wq】命令,但是与【:wq】有几点不同
      • ① 如果文件没有修改,那么【:x】表示直接退出;如果文件有修改,【:x】表示保存并退出
      • ② 如果文件没有修改,但是使用【:wq】进行退出,则文件的修改时间会被更新;但是如果使用【:x】进行退出,文件的修改时间不会被更新。
    • :w 保存文件但不退出vim
    • :w file 将修改另外保存到file中,不退出vim
    • :w! 强制保存,不退出vim
    • :wq 保存文件并退出vim
    • :wq! 强制保存文件,并退出vim
    • q: 不保存文件,退出vim
    • :q! 不保存文件,强制退出vim
    • :e! 放弃所有修改,从上次保存文件开始再编辑

不要使用【:X】大写的X,这会对文件进行加密。

(注意按下":"时其实已经切换到了末行模式)

Vim模式的切换

  • 命令模式 -> 末行模式 【:(英文)】【/(仅限搜索时)】
  • 末行模式 -> 命令模式 【1次ESC/2次ESC/退格键删除全部命令】
  • 命令模式 -> 编辑模式 【i/a/等】更多方式进入编辑模式
  • 编辑模式 -> 命令模式 【ESC】

末行模式和编辑模式之间不能相互切换,他们的转变需要经过命令模式进行中转。

命令模式

  • 该模式下是不能直接对文件进行编辑,可以输入快捷键进行一些操作(移动光标,删除行,复制行,粘贴等等)
  • 注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)

光标移动

① 光标移动到行首 【shift+6(注意:是T字母右上的6,不是小键盘的数字6) 或者说 ^ 符号】  
② 光标移动到行尾 【shift+4(注意:是E字母右上的4,不是小键盘的数字4) 或者说 $ 符号】  
③ 光标移动到首行 【gg】  
④ 光标移动到末行 【G】  
⑤ 翻屏  
  向上翻屏 【Ctrl+b(before) 或者 PgUp】  
  向下翻屏 【Ctrl+f(after) 或者 PgDn】

复制操作

① 复制光标所在行 按下【yy】然后在需要粘贴的地方按下【p】键  
② 以光标所在的行为准(包含光标所在行)向下复制指定行数 按下【行数yy】然后在需要粘贴的地方按下【p】键  
③ 可视化复制 按下【Ctrl+v】,然后使用 ↑,↓,←,→ 方向键来选择需要复制的区块,按下【yy】键进行复制,接着在需要粘贴的地方按下【p】键

剪切/删除

① 剪切/删除光标所在行 按下【dd】,如果要粘贴,就在需要粘贴的位置按下【p】键,不需要粘贴就是删除(剪切/删除之后下一行上移)  
② 以光标所在的行为准(包含光标所在行)向下剪切/删除指定行数 按下【行数dd】然后在需要粘贴的地方按下【p】键(剪切/删除之后下一行上移)  

* 注意:【dd】严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除效果

③  剪切/删除光标所在行,但是剪切/删除之后下一行不上移 按下【D】然后在需要粘贴的地方按下【p】键 (剪切/删除之后当前行变成空白)  

撤销/恢复

* 撤销:【:u】(不属于命令模式)然后回车 或者 【u】(undo)
* 恢复:【Ctrl+r】 恢复(取消)之前的撤销操作

光标的快速移动

① 快速将光标移动到指定的行数 【数字G】  
② 以光标当前行为准向上/向下移动指定行     	【数字↑/数字↓】   
③ 以光标当前行为准向左/向右移动指定字符数 	【数字←/数字→】  
④ 末行模式下快速移动方式:移动到指定行 【:数字】然后回车

末行模式(尾行模式)

  • 该模式下可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)
  • 进入:由命令模式进入,按下英文【:】即可进入 或者 【/(仅限搜索时)】
  • 退出:使用指令【1次ESC】【2次ESC】【退格键(Backspace)删除全部命令】

保存操作(write)

① 保存文件 【:w】然后回车
② 另存文件 【:w 路径】然后回车

退出操作(quit)

退出操作 【:q】然后回车

保存并退出

保存并退出操作 【:wq】然后回车

强制(!)

① 强制不保存退出	【:q!】  
② 强制保存		【:w!】   
③ 强制保存并退出	【:wq!】 

调用外部命令

有时候在vim编辑的过程中,需要调用其他的命令,那么在末行模式中可以使用如下指令进行临时调用外部命令 **【:!外部命令】**如:【:!ls】:表示在vim的末行模式中调用了外部的 "ls" 指令,那么终端就会显示外部命令 "ls" 的执行结果(界面会提示怎样重新进入vim中)

搜索/查找

* 搜索命令 【/搜索关键字】
* 在搜索结果中切换上一个/下一个结果 【N/n】
* 取消高亮显示 【:nohl】(no highlight)

替换

① 语法1 【:s/需要替换的内容/新的内容】		:替换光标所在行的第一处符合条件的内容  
② 语法2 【:s/需要替换的内容/新的内容/g】	:替换光标所在行的全部符合条件的内容  
③ 语法3 【:%s/需要替换的内容/新的内容】	:替换整个文档中每行第一个符合条件的内容  
④ 语法3 【:%s/需要替换的内容/新的内容/g】	:替换整个文档中所有符合条件的内容

%表示整个文件,g表示全局

显示/取消行号

* 显示行号 【:set nu】 (number)
* 隐藏行号 【:set nonu】

注意:这个设置只是临时设置,关闭vim之后再重新打开就没有了。

使用Vim打开多个文件,在末行模式下进行切换文件

* 查看当前打开的文件名称 【:files】
字段名称字段说明字段说明字段说明
1%a“a.txt”第 35 行
2“b.log”第 0 行
3“c.log”第 0 行
  • 在 %a 的位置有2中显示可能
    • %a:active,表示当前正在打开的文件
    • # :表示上一个打开的文件

切换文件的方式

① 指定切换文件的名称		【:open 以打开的文件名】
② 切换到下一个文件		【:bn】(back next) 
③ 切换到上一个文件		【:bp】 (back previous)

编辑模式(输入模式)

  • 该模式下可以对文件的内容进行编辑

  • 进入编辑模式:

    • i:在光标所在字符前开始插入
    • a:在光标所在字符后开始插入
    • o:在光标所在行的下面另起一行开始插入
    • I:在光标所在行的行首开始插入,如果行首后空格,则在空格之后开始插入
    • A:在光标所在行的行尾开始插入
    • O:在光标所在行的上面另起一行开始插入
    • S:删除光标所在行并开始插入
  • 退出编辑模式:

    • 按一次ESC键 【ESC】

实用功能

代码着色

  • 关闭代码着色:【syntax off】
  • 打开代码着色:【syntax on】

这种方式为临时方式,重新打开之后恢复默认。

vim中计算器的实用

当在编辑文件中,突然需要使用计算器来计算出一些公式时,此时需要使用计算器,我们可以退出vim,然后计算完在重新编辑,但是vim中已经集成了计算器。
步骤:

a:进入编辑模式
b:按下【Ctrl+r】,然后输入 “=”,此时光标会移动到最后一行 
c:输入需要计算的内容,然后回车

vim的扩展

vim的配置

vim的配置主要有三种情况:

  • 在文件打开的时候在末行模式下进行配置(这个是临时的,如上面的行号设置、代码着色)
  • 个人配置文件(/.vimrc)(:表示当前用户家目录,使用命令【cd~】或者【cd】进入)
  • 全局配置文件(vim自带,/etc/vimrc)
使用个人配置

① 新建号配置文件,然后进入编辑(文件目录:/.vimrc;(:表示当前用户家目录,使用命令【cd~】或者【cd】进入))
② 在配置文件中进行配置,比如:
显示行号,输入:set nu

vim配置文件的优先级

临时配置 > 个人配置 > 全局配置

异常退出

在编辑文件之后,并没有正常去保存退出(wq),而是突然关闭终端或者断电的情况,则在下次打开时不能正常显示了,而是会出现一些提示信息,主要是发现了交换文件 “.passwd.swp” (我编辑的文件是 passwd ,所以交换文件名为.passwd.swp,交换文件名的规则是:.编辑文件名.swp)等等,并且会提示应该怎样解决问题,一般情况下是直接删除交换文件即可(删除文件命令【rm -f .passwd.swp】)

别名机制

作用:相当于创建一些属于自己自定义命令
别名机制主要依靠一个别名映射文件:~/.bashrc (:表示当前用户家目录,使用命令【cd】或者【cd】进入)

alias rm='rm -i'
alias cls='clear' # 自定义的类似window系统的清屏命令

注意:使用别名时,在配置文件(~/.bashrc)中创建了新的命令,想要新的命令生效,必须要重新登录当前用户。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值