vim教程

vim的使用教程(常用命令)

vim 的使用主要分为vim的配置和四大模式的掌握

一、vim的配置

vim的配置主要通过vimrc配置文件实现,文件的的存放位置:
系统 vimrc 文件: “ V I M / v i m r c " 用 户 v i m r c 文 件 : " VIM/vimrc" 用户 vimrc 文件: " VIM/vimrc"vimrc:"HOME/.vimrc”
用户 exrc 文件: “ H O M E / . e x r c " 系 统 g v i m r c 文 件 : " HOME/.exrc" 系统 gvimrc 文件: " HOME/.exrc"gvimrc:"VIM/gvimrc”
用户 gvimrc 文件: “ H O M E / . g v i m r c " 系 统 菜 单 文 件 : " HOME/.gvimrc" 系统菜单文件: " HOME/.gvimrc":"VIMRUNTIME/menu.vim”
$VIM 预设值: “/usr/share/vim”

在用户家目录(/home/用户名)下面有一个.vimrc
/etc下面也有一个vimrc

一般只改用户家目录下面的 .vimrc 此配置文件只针对用户有效
更改后需使用su - 用户名 来使配置生效(例如 su - zhang3)

二、vim的四大模式

1、命令模式(command mode)

vim打开后默认就是命令模式,此时的输入都被当作命令来解析

命令:

  • yy: 复制光标所在的一行

  • yny:复制光标处起的n行

  • n,my: 复制n和m行之间的内容

  • p:粘贴

  • 0 → 数字零,到行头

  • $ → 到本行行尾

  • gg:跳到文件首

  • shitf + g:跳到行文件尾

  • ^ 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

  • g_ 到本行最后一个不是blank字符的位置。

  • w 到下一个单词的开头。

  • e 到下一个单词的结尾。

  • fa 到下一个为a的字符处,你也可以fs到下一个为s的字符。

  • t, 到逗号前的第一个字符。逗号可以变成其它字符。

    eg:dt" 删除从光标处到”的字符,可以结合其他命令使用

  • 3fa 在当前行查找第三个出现的a。

  • FTft 一样,只不过是相反方向。

  • % : 匹配括号移动,包括 (, {, [. (陈皓注:你需要把光标先移到括号上)

  • *#: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

  • gU (变大写)

  • gu (变小写)

  • . (小数点) 可以重复上一次的命令

  • u 撤销上一次的命令

  • N → 重复某个命令N次

  • ctrl f 相当于page down

  • ctrl b 相当于page up

  • ggVG 全选 这个牛逼,其实是进入可视模式

2、末行模式(last line mode)

在命令模式下按下shitf + :即可进入末行模式,末行模式下可以执行一些指令,如保存、退出、查找、替换等、在命令前加入!,即可在末行模式下执行shell命令

命令:

  • /text 即可查找包含text的文本,通过n/N可以向下或者向上查找

  • %s/text/text1/g 即可将全局text替换为text1

  • :saveas → 另存为

  • vsplit 垂直分页

  • split 水平分页

  • set 查看vim的配置,同时可以直接设置vim的配置,例如直接输入 set nu即可显示行号

  • bnbp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(我喜欢使用:n到下一个文件)

  • e ` → 打开一个文件

3、插入模式(insert mode)

在命令模式下,执行以下命令,进入插入模式,即可进行正常的文本编辑

  • ​ 按 i 在光标前插入

  • ​ 按 I 在行首插入

  • ​ 按 a 在光标后插入

  • ​ 按 A 在行末插入

  • ​ 按 s 删除光标所在的字符再插入

  • ​ 按 S 删除光标所在行再插入

  • ​ 按 o 在当前行之下新建行

  • ​ 按 O 在当前行之上新建行

命令:

  • ctrl p 自动补全

4、可视模式(visual mode)

在命令模式下,执行以下命令,即可进入可视模式,该模式下可以执行文件的选择,然后对选中区域的文本,执行删除、复制、大小写转换等,这三种模式可以随意切换,实现不同的选择粒度

  • v 逐个字符选择文本行文本
  • V 逐行选择文本块文本
  • ctrl + v 按照块的方式选择文本

命令:(掌握)

  • f{char}来跳转到某个字符上面

  • d删除选中文本

  • c修改选中文本

  • y 复制选中文本

  • r替换选中文本

  • I在选中文本前插入

  • A在选中文本后插入

  • gu选中区域转为小写

  • gU选中区域转为大写

  • g~大小写互调

  • >向右缩进一个单位

  • <向左缩进一个单位

  • J → 把所有的行连接起来(变成一行)

  • <> → 左右缩进

  • = → 自动给缩进

  • 块操作,典型的操作: 0 I-- [ESC]在选中块前添加–

    • ^ → 到行头
    • → 开始块操作
    • → 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
    • I-- [ESC] → I是插入,插入“--”,按ESC键来为每一行生效。

单击.重复命令(了解)

选择模式 重复效果
字符文本选择模式(Visual) 从当前光标开始,作用范围是上次操作的字符数
行文本选择模式(Visual line) 从当前行开始,作用范围是上次操作的行数
块文本选择模式(Visual Block) 从当前光标开始,作用范围是以当前光标为左上端点的上次操作的块范围

一旦切换到可视模式以后,选中的区域是由两个端点来界定的(一个在左上角,一个在右下角),我们在默认情况下只可以控制右下角的端点,但是有些时候发现我们需要调整左上角的端点,这时我们可以使用o按键来在左上角和右下角之间进行切换。

最后,善于使用命令模式下的操作,基本可以不用使用可视模式,例如:

n,m>,就可以将n到m行之间的文本直接右移,配合. 和u可以轻松的重复和撤销命令

你可能感兴趣的:(工程实践)