From 622e9749bd0f4d1bf85a33f405ecf13e385f2b4b Mon Sep 17 00:00:00 2001 From: shaoying Date: Sat, 15 Sep 2018 22:58:48 +0800 Subject: [PATCH] mac add vim --- usr/wiki/zsh_tmux_vim.md | 99 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/usr/wiki/zsh_tmux_vim.md b/usr/wiki/zsh_tmux_vim.md index 68ee49d7..a572ca08 100644 --- a/usr/wiki/zsh_tmux_vim.md +++ b/usr/wiki/zsh_tmux_vim.md @@ -106,6 +106,21 @@ You can use vim to input text or code into complute in a free style. - 编辑模式: 和其它编辑器一样,各种字母数字按键会当成文件的内容直接输入。 - 底行模式: 通过输入各种命令行,调用vim各种函数或脚本对文件内容进行复杂的处理。 +不同模式下按键的功能是不一样的,所以要知道当前的模式,并能自由切换。如果不知道自己所在的模式,就按\总会回到命令模式的。 + +- 命令模式->底行模式: 输入冒号键":",从命令模式切换到底行模式。 +- 命令模式<-底行模式: 输入回车键\执行命令,或输入退出键\不执行命令,然后从底行模式,返回到命令模式。 +- 命令模式->编辑模式: 输入"i"、"I"、"a"、"A"、"o"、"O"、"s"、"S",其中任何一个键都可以进行编辑模式。 + - "i": 在光标左边的位置开始插入内容 + - "a": 在光标右边的位置开始插入内容 + - "o": 在光标下面新加一空白并开始插入内容 + - "O": 在光标上面新加一空白并开始插入内容 + - "A": 在光标当前行尾的位置开始插入内容 + - "I": 在光标当前行首的位置开始插入内容 + - "s": 删除光标下的字符,并在光标当前的位置开始插入内容 + - "S": 删除光标当前行的所有字符,并在光标当前行开始插入内容 +- 命令模式<-编辑模式: 输入退出键\,从编辑模式返回到命令模式。 + #### vim的帮助文档 vim有很灵活的快捷键,大量的配置与命令,和丰富的插件,所以除了要多练习,还需要多看文档。vim自带的帮助文档就很丰富很完整。 @@ -143,10 +158,88 @@ vim有很灵活的快捷键,大量的配置与命令,和丰富的插件, - Ctrl+B 向上翻页 - Ctrl+D 向下翻半页 - Ctrl+U 向上翻半页 +- gg 跳到文件第一行 +- G 跳到文件最后一行 + +#### vim的文本修改 +除了前面的光标移动与翻页功能,命令模式下还有很多操作命令。 + +- cc 删除当前行,并进入编辑模式 +- dd 删除当前行 +- yy 复制当前行 +- p 在光标之后粘贴复制的内容 +- x 删除光标所在的字符 +- r 替换光标所在的字符,输入字符r后,接着输入新字符 +- u 取消操作 +- Ctrl+R 恢复取消的操作 + +#### vim的单词搜索 +除了hjkl,移动光标外,还有更快捷移动光标的方式,就是搜索。 + +- 行内搜索: "f"与"t",当用h或l进行左右移动时,经常需要按多好次键才能移动到目标位置,所以输入f加上目标位置所在的字符就可以直接跳过去。t与f相同也是跳转,只是t是跳到目标字符的左边一个位置。 +- 匹配搜索: "\*"与"#",按一下"\*",vim就会用光标所在的单词,向下搜索,直接跳到当前单词出现的下一位置。#与\*相反,是向上搜索。 +- 全文搜索: "?"与"/",如果相搜索任意单词,在命令模式下输入"/",然后输入想要搜索的单词,最后输入回车即可向下搜索并移动光标到单词所在位置。?与/相反是向上搜索。 + +#### vim的命令组合 +#### vim的常用配置 +除了前面那一堆高效的快捷键外,vim另一强大的原因就是灵活的配置。 +你完全可以根据自己的习惯,修改各种各样的配置,让编辑器更加得心应手。 + +vim的配置命令是set,在命令模式中输入":set ",再加上需要修改的配置。 + +***显示行号***,输入":set number",即可在窗口左边显示文件的所有行号,就可以很清楚的知道当前的位置。 +``` +:set number +``` +***显示相对行号***,很多时候目标位置距当前位置相隔很多行,还要去目测或一行行去数相对位置。设置显示相对行号后,就可以直接看到窗口中所有行相对于当前行的相对行号。 +``` +:set relativenumber +``` + +***显示光标纬线***,有时屏幕屏幕太大,往往对不准同一列的字符或同一行的内容,就可以显示经纬经。 +``` +:set cursorline +``` +***显示光标经线*** +``` +:set cursorcolumn +``` +状态行,也可以显示很多用有的信息。 +***显示光标位置*** +``` +:set ruler +``` +***显示当前命令*** +``` +:set showcmd +``` +***显示当前模式*** +``` +:set showmode +``` +#### vim的启动脚本 +vim有大量的配置与命令,不可能每次启动vim都要手动去输入一遍。 +vim具有脚本解析的功能,并且会在启动的时候会加载启动脚本文件。 +所以就可以把一些常用的命令放到启动脚本中,每次打开文件时,vim会自动的首先执行这些命令。 + +vim默认的启动脚本文件是在家目录下的.vimrc,如下打开启动脚本文件,并把之前的那些命令写到脚本中。 +因为vim会把脚本文件中的每一行当成一条命令来解析并执行,所以行首不需要再专门输入":"。 +``` +$ vim ~/.vimrc +set number +set relativenumber +set cursorline +set cursorcolumn +set ruler +set showcmd +set showmode +set cc=80 +set nowrap +set scrolloff=3 +``` + + -#### vim的命令模式 -#### vim的编辑模式 -#### vim的底行模式 ## 个性化配置 ### zsh安装 Mac上自带zsh,不用安装,但Ubuntu上需要自己安装一下。