vim常用命令

普通字符操作

v进入visual模式选择字符, y复制 3yy复制3行 c剪切 p粘贴 d删除, u撤销命令 ctrl+r取消撤销
zc折叠, zo展开折叠
ctrl+u 锁定 ctrl+q取消锁定

分屏查看文件

vs 竖屏分割, vertical res 80调整比例
sp 水平分割, res 80调整比例
wqa 退出所有分屏并保存

跳转操作

单词: w (word)前进一个词, b (back)后退一个词.
行: gg或:0跳到第一行, G或:$跳到最后一行, 88gg或者88G跳到88行(也可:88). 10j向下跳10行, 10k向上跳10行(HJKL左上右下).
页面: ctrl+f (forward)前进一个页面(等于page up), ctrl+b (backward)后退一个页面(等于page down).
/检索单词: 如/word, 点击n跳到下一个, shift+n回到上一个.

执行代码

:!python %执行当前文件, %可以换成a.py

Vim字符串替换

参考https://www.jianshu.com/p/0175bed4092d

2,10s/line/lines/g表示将2~10行的line全局替换为lines
%替换整个文件(相当于1,$), .,$替换当前行到末尾
结尾的g加上i表示不区分大小写
2,10s/^/\/\//g 批量注释, 相当于将行首替换成//
2,10s/^\/\///g 取消行首//注释
%s/\ \ \ \ /\ \ /g将4格空格替换成2格
%s/*\ /\ */g将int* a换成int *a
%s/\s\+$//g全局去除行尾多余空格和tab

将文件Tab替换为空格:

:set ts=4
:set expandtab    # noexpandtab是将空格换回Tab
:%retab!

对特定文件如python将tab替换为空格:
autocmd FileType python set tabstop=4|set shiftwidth=4|set expandtab

自动补全

自带的ctrl+f

安装插件

github搜vim-plug, 将文件添加到~/.vim/autoload/plug.vim
如下示例安装nerdtree

call plug#begin()
  Plug 'scrooloose/nerdtree'
call plug#end()
autocmd VimEnter * NERDTree

之后保存退出, 再进入任意文件输入:PlugInstall
删除时先在.vimrc中删除插件的Plug xxx和autocmd, 之后执行PlugClean

安装主题

先安装插件Plug 'flazz/vim-colorschemes'
然后colorscheme molokai即可设置对应主题

在spf-13插件环境下

ctrl+p 搜索文件
ctrl+6 切换上一个和当前文件
:b4 切换到4号文件
回车包含代码块
;cc 块注释 ;cu取消注释

mac下vim不能用退格键

set nocompatible
set backspace=indent,eol,start

tmux

tmux new -s 
tmux detach  " 或 ctrl+b+d
tmux attach -t 
tmux ls
tmux kill-session -t 
tmux rename-session -t 

鼠标翻页ctrl+b+[, 使用q退出

将整个屏幕划分成左右两个pane:Ctrl+b 再按下%键(也就是shift+5)
将整个屏幕划分成上下两个pane:Ctrl+b 再按下 “ 键
切换pane: Ctrl+b 再按下 o 键(英文字母 o)
关闭当前pane:Ctrl+b 再按下 x 键(英文字母 x )

创建window: ctrl+b+c
切换window: ctrl+b+n
重命名window: ctrl+b+,
删除window: ctrl+b+x

你可能感兴趣的:(vim常用命令)