Vim秘籍

2017-09-24  本文已影响0人  chenclqqrj

删除命令 d D x

dd / D 删除行

dw 删除单词

nd  /  nx 删除n个字符

ndd 删除n行

D 删除到行尾

选取

v 进入字符可视化模式

V 进入行可视化模式

Ctrl+v 进入块可视化模式

vi{选中{}中间的内容,不包括{}

va{ 选中{}中间内容,包括{}

选中()中间内容

vi< 选中<>中间内容

vi[ 选中[]中间内容

vit 选中中间的内容

vi” 选中”"中间内容

vi’ 选中”中间的内容、

vis 选中一个句子

vib 选中一个block

viw 选中一个单词

vip 选中一个段落

r字符 所有字符替换为新字符

u U ~ 分别是所有字母变小写、变大写、反转大小写

“>”和“<" 将选中字符右移或左移 shiftwidth位置

J 命令可以将高亮显示的文本内容合并为一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用 gJ 命令。

在可视化模式下,按下 : 键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行 :write block.txt 命令,就可以将文本块写入另一文件中。选择多行,然后执行 :sort 命令,则可以对选中的文本进行排序。

目录与配置

  ~/.vim/plugin

  ~/.vim/doc

  ~/.vim/syntax

~/.vimrc

vim有许多可选的插件管理器如Vundle, Pathogen, Vim-plug, VAM,

安装Vim-plug

下载Vim-plug并把它放在autoload目录里

Unix

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \

    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Neovim

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \

    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Windows

md ~\vimfiles\autoload

$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\autoload\plug.vim"))

管理插件

编辑.vimrc(Neovim是~/.config/nvim/init.vim)

添加vim-plug配置,以call plug#begin()开头,call plug#end()结尾,中间是插件列表,begin可以接受参数指定存放插件的位置:

" Specify a directory for plugins (for Neovim: ~/.local/share/nvim/plugged)

call plug#begin('~/.vim/plugged')

" Make sure you use single quotes

" Shorthand notation; fetches https://github.com/junegunn/vim-easy-align

Plug 'junegunn/vim-easy-align'

" Any valid git URL is allowed

Plug 'https://github.com/junegunn/vim-github-dashboard.git'

" Multiple Plug commands can be written in a single line using | separators

Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'

" On-demand loading

Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }

Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

" Using a non-master branch

Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }

" Using a tagged release; wildcard allowed (requires git 1.9.2 or above)

Plug 'fatih/vim-go', { 'tag': '*' }

" Plugin options

Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }

" Plugin outside ~/.vim/plugged with post-update hook

Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

" Unmanaged plugin (manually installed and updated)

Plug '~/my-prototype-plugin'

" Initialize plugin system

call plug#end()

安装插件

:PlugInstall

其他命令

PlugUpdate:升级插件;

PlugClean:删除未被使用的插件目录;

PlugUpgrade:升级Vim-plug自身;

PlugStatus:查看插件状态;

更多配置和命令请参考Vim-plug官方文档

上一篇下一篇

猜你喜欢

热点阅读