【程序员基础篇】vi

vim快捷键

# 光标移动
0/W: 跳转到行首。
$/E: 跳转到该行的行尾。
2$: 跳转到第二行的行尾。
2G: 文档的第二行
H: 光标移动到这个屏幕第一行的第一个字符
M: 光标移动到这个屏幕的中夬那一行的第一个字符
G: 文档的最后一行
b: 以单词为单位往前跳动光标
w: 以单位切单位往后跳动光标
ctrl + f(forward): 下一页
ctrl + b(backward): 上一页
ctrl + u(up): 上半页
ctrl + d(down): 下半页

# 插入模式
i: 在该行插入
a: 在光标位置插入
o: 在后面开启新的一行
O: 在前面开启新的一行

# 删除/复制
x: 删除后一个字符
X: 删除前一个字符
dG: 删除到文件末尾
dgg: 删除到文件首
dd: 删除整行
d0: 删除到行首
d$: 删除到行尾
db: 从当前位置删除到上一个单词开头
dw: 从当前位置删除到下一个单词开头
yw: 复制一个单词
4yy: 复制4行

# 编辑模式
J: 合并下一行到上一行
~ 变换为大小写
3>> 3行向右移动一个tab
1<< 1行向左移动一个tab

# 搜索
/pattern 搜索
?pattern 向后搜索
n 光标到达搜索结果的前一个目标
N 光标到达搜索结果的后一个目标

# visual line模式 按v进入
h 左移
j 下移 
k 上移
l 右移
d y p 剪切 复制 粘贴

# 命令
:! command    暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 『:! cat ./test』即可在 vi 当中察看当前文件夹中的test文件中的内容
:set nonu    与 set nu 相反,取消行号
:1,$s/string1/string2/gc    从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !且在替换前显示提示字符给用户确认 (confirm) 是否需要替换!(常用)
u: 撤销上一步操作
ctrl + r: 回复上一步操作
. 重复最后一个命令
:e [file] 编辑文件

vim配置

# 1.开启语法支持
# 2.设置solarized配色方案
# 下载配色方案solarized
$ git clone https://github.com/altercation/solarized.git
$ cd 到刚才下载的项目根目录/vim-colors-solarized/colors
$ mv solarized.vim ~/.vim/colors/
$ 打开~/.vimrc
# 将下面的语句添加到.vimrc文件下面
  syntax enable
  set background=dark
  colorscheme solarized

vim配置文件

vim配置文件

  • 安装依赖
$ brew install python vim git
$ wget http://tenet.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz && tar -zxvf ctags-5.8.tar.gz && cd ctags-5.8 && ./configure && make && sudo make install
$ sudo pip install dbgp vim-debug pep8 flake8 pyflakes isort
  • 把上面的配置文件更名为.vimrc并放在~下
  • 打开Vim, 它将会自动安装插件. 请耐心等待它完成. 或者你可以使用下面的命令来自行安装
$ vim -E -u $HOME/.vimrc +qall`

在这份配置中,使用了Vundle作为插件管理器. Vundle会自动接管 .vim 文件夹,所有配置好的插件将默认下载至~/.vim/bundle/, 在使用之前请确保.vim文件夹干净. Vundle的插件安装需要触发 git clone 操作,搜索需要 curl 支持.

插件

snipmate

下载snipmate插件解压到~/.vim目录下 教程

$ unzip snipmate.zip -d ~/.vim
NERDTree

用于查看文件列表,在NERDTree窗口输入?可获得操作指南。这份配置中默认过滤掉了.pyc, .git, .hg, .svn等文件或文件夹的显示。

快捷键
F3    打开/关闭NERDTree
,t    打开NERDTree并选中当前文件
Markdown实时预览

此功能需要有node环境支持,可以执行 npm -g install instant-markdown-d 进行安装。

快捷键
:InstantMarkdownPreview    手动触发markdown文件的预览
快速注释

使用NERDCommenter插件完成快速注释, 可以通过ci进行快速注释.

相关推荐