diff --git a/source/_posts/linux/vim学习手记.md b/source/_posts/linux/vim学习手记.md new file mode 100644 index 0000000..54ce783 --- /dev/null +++ b/source/_posts/linux/vim学习手记.md @@ -0,0 +1,61 @@ +--- +title: vim学习手记 +date: 2019-03-27 22:23:34 +tags: + - linux + - vim +categories: + - linux +--- + +Vim作为Linux平台首选编辑器, 支持目录树, 语法高亮, 代码补全等等功能 +以及可以通过插件进行定制化的扩展 + +## vim的四种模式 +1. 一般模式: 刚进入vim的时候, 所在的就是一般模式 +2. 编辑模式: 也就是可对文件内容进行修改的状态, 比如在一般模式输入`i`就进入了输入模式(INSERT状态) +3. 命令模式: 在一般模式下输入`:`进入命令模式 +4. 可视模式: 在一般模式下输入`v`进入可视模式, 在该模式下可以使用鼠标选择文本进行操作 + +在 2 3 4 模式下按`Esc`返回到一般模式 + +## vimrc +`vimrc`指的是**vim run command** , 也就是运行命令 + +在一般模式下输入`:`进入到命令模式 + +### set命令 +set命令用于设置vim的配置项 + +比如最常见的使用命令为vim设置行号的显示 +就是`set number` +如果后面加上一个`?` 那么就是可以返回该设置项当前的设置 +`set nonumber`就是取消行号的显示 +![vimrc](/images/linux/vimrc.png) + + +每次打开文件都执行一些基本设置的命令显然过于繁琐 +我们通常把一些通用的设置放在`.vimrc`文件当中 ++ **系统级** : 默认路径为`/usr/share/vim/.vimrc` ++ **用户级** : 默认路径为`~/.vimrc` + +比如我们在.vimrc当中如果加入set number +那么每次使用vim打开文件默认就是显示行号的 + +> 其他常用的选项 ++ **ruler** - 设置以后会在右下角显示当前所在位置的百分比 ++ **hlsearch** 或者 **hls** - 使用`/`开头执行搜索的时候会高亮所有匹配到的内容 ++ **ignorecase** - 执行搜索时忽略大小写 ++ 自动调整缩进 : **autoindent** 与 **smartindent** +前者在新插入一行的时候会自动复制上一行的缩进值 +后者则会自动识别一些编程语言的语法结构, 比如{}代码块当中的内容 + +### map命令 +map命令用于设置宏按键 +比如 +``` +map i +``` +这样在vim当中按下F3的时候, 就相当于输入后面的所有内容 +> 宏按键只在一般模式下起作用, 所以后面的内容中先写一个i, 相当于进入到输入模式 + diff --git a/source/images/linux/vimrc.png b/source/images/linux/vimrc.png new file mode 100644 index 0000000..62755e6 Binary files /dev/null and b/source/images/linux/vimrc.png differ