Last active
July 5, 2023 06:16
-
-
Save chinacheng/c0a17c4b3f579729457b37120eb07dab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
vim使用笔记 | |
### 1 首先 安装vim | |
安装vim很简单的命令 | |
```shell | |
sudo apt-get install vim | |
``` | |
一些操作键 | |
Shell代码 收藏代码 | |
插入 i | |
退出 :q | |
退出所有的页签 :qall | |
退出其他的页签 :tabo | |
当前光标下一行换行插入 o | |
当前光标上一行换行插入 O | |
左上下右 h j k l | |
选择文本 摁v然后左右键选择 | |
复制选择 y | |
剪切 按 v 以及左右选中后 按 x | |
粘贴 p | |
删除一行 dd | |
上下行交换 dd y | |
删除n个单词 d + 数字 + w | |
行首 ^(一个句子的行首,不包含空格) | |
行尾 $ | |
绝对行首 0(阿拉伯数字0,行首,最左边) | |
句首(段首) ( | |
下一个句首 ) | |
查找下一个与当前光标相同的单词 * 前一个用 # | |
shift + % 会找到最近的括号,在括号左右进行切换 | |
替换某一个字符 r + 新字符 | |
重复上一次的命令 . | |
合并两行 J | |
visual模式 v | |
visual模式下选择一个单词 e | |
2 安装NERD-tree插件 | |
下载NERD_tree.vim,copy到~/.vim/plugin/ 目录下,没有这个目录的话,新建这个目录 | |
运行 vim 输入命令 | |
:NEROTree 路径 | |
就打开这个tree结构 | |
3 NERDTree的几个简单的操作 | |
Shell代码 收藏代码 | |
按上下键进行移动光标的位置 | |
按 o 键或者回车键 在展开与收起之间进行切换 | |
按 shift + o 展开所有子菜单 | |
按 i 键 在右侧出现分离的窗体中显示文件 | |
按 t 键 在新的页签中显示文件(显示页签之后 切换页签(从左到右)的命令是 gt, 反向(从右向左)切换 gT ) | |
按 T 键 在后台标签页中打开 | |
按 r 键 递归刷新当前节点 | |
按 shift + r 递归刷新根结点 | |
按 p 键 到上层目录 | |
按 P 键 到根目录 | |
按 K 键 到第一个节点 | |
按 J 键 到最后一个节点 | |
按 u 键 打开上一层目录 | |
按 x 键 合拢选中结点的父目录 | |
按 shift + x键 .递归 合拢选中结点下的所有目录 | |
4 NERD-tree安装之后在,在窗口之间切换 | |
打开一个文本后,光标会移动到右边的文本中 | |
摁 CTRL + w 组合键 | |
然后在 摁 左键 就可以返回左边树状结构 | |
摁 CTRL + w 组合键 | |
然后在 摁 右键 就可以返回右边的编辑页面 | |
设置特定格式的文件不显示,比如.pyc文件,在vimrc文件中添加:let NERDTreeIgnore = ['\.pyc$'] | |
设置左侧菜单的宽度,可以通过在vimrc文件添加 let NERDTreeWinSize=宽度 来设置,其实我觉得这种定宽,不太好用,最好还是用鼠标来控制,设置鼠标在任何情况下可用 set mouse=a ,用的时候,不会出现动画效果,鼠标在中间分栏的地方点一下,就可以左右拖拽了。 | |
5 有点不可思议的是,竟然支持haml的文档 代码高亮。很高兴 | |
6 让代码显示行号,命令是: | |
:se number | |
关闭行号 | |
:se nonumber | |
设置自动显示行号 | |
在配置文件 ~/.vimrc(不存在则新建之) 中添加以下代码 | |
set nu | |
撤销操作的快捷键 | |
命令状态下 按 u | |
7 安装rails.vim插件 | |
下载地址 http://www.vim.org/scripts/script.php?script_id=1567 | |
解压zip文件,把三个文件夹下的内容,分别copy到~./vim 下的文件夹下面(不存在,则新建) | |
可以通过命令 :Rmodel User 跳转到model/user.rb中去 | |
其他的详细命令在doc中可以看到 | |
其中比较牛逼的gf命令,就是组合键ctrl+w 然后在摁 f(新页签)/gf(新窗口),他就会跳转到对应的类或者页面上去 | |
至于Rmodel之类的命令就是在后面加上model名字 | |
8 ruby代码的自动格式化 | |
搜了以下命令gg=G | |
但是我运行的时候,不是格式化,而是把所有的代码顶格了 | |
需要修改一下配置文件 | |
编辑文件 ~/.vimrc(不存在则创建之) 添加下列代码 | |
Java代码 收藏代码 | |
if has("autocmd") | |
filetype indent on | |
endif | |
保存之 | |
再去找一个ruby文件测试一下命令 gg=G 成功 | |
9 重新载入页签内容 | |
Shell代码 收藏代码 | |
:e | |
10 批量注释行-注释多行 | |
Shell代码 收藏代码 | |
ctrl+v 选中多行,然后按键 shift+i 在光标所在行添加内容(ruby 注释 就是 #), 最后按 ESC 键应用到选中的所有行 | |
11 前后移动 | |
Shell代码 收藏代码 | |
w 下一个单词 | |
e 单词尾 | |
b 前一个单词 | |
12 插入一个字符多次 | |
Shell代码 收藏代码 | |
次数数字 + i + “字符” + esc | |
13 查找 | |
Shell代码 收藏代码 | |
a、字符查找 | |
f + 字符 往后查找 | |
F + 字符 往前查找 | |
b、文本查找 | |
/ + 文字 | |
n 往后查找下一个 | |
N 往前查找上一个 | |
14、代码粘贴的时候出现错乱 | |
使用命令 set paste | |
完毕之后 set nopaste | |
15、代码自动匹配 | |
使用snipMate.vim插件 | |
配置snippets文件夹下各种文件匹配的对应配置文件 | |
自动匹配括号引号等操作 | |
打开snippets下的_.snippets文件,添加下面代码 | |
Java代码 收藏代码 | |
# auto complete ({['" | |
snippet ( | |
(${1})${2} | |
snippet { | |
{${1}}${2} | |
snippet [ | |
[${1}]${2} | |
snippet < | |
<${1}>${2} | |
snippet ' | |
'${1}'${2} | |
snippet " | |
"${1}"${2} | |
输入(按tab键补全,输入完()里面的内容之后再tab,跳出 | |
16、vim执行shell | |
方法一: | |
在vim中输入 :shell 命令,然后会跳到当前terminal页面,做完操作之后,Ctrl + d 命令返回vim | |
方法二: | |
输入 :! 空格 加命令(比如ls -a) 会跳出vim编辑页面,跳转到terminal执行命令,按enter返回 | |
如果要将shell命令的返回值插入到当前文件中,结合:r 命令来实现 | |
:r !ls -a(把当前目录问价插入到编辑的文件中) | |
17、使用寄存器存储复制的内容 | |
复制: | |
在普通模式下按v选中要复制的内容 " + a + y 键就是把选中的元素复制到名字为a的这个寄存器中了(a的名字可以任意替换) | |
粘贴:" + a + p 把寄存在a中的东西粘贴出来 | |
附录: | |
我使用的一些插件以及vim配置 | |
https://github.com/chinacheng/vimrc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment