上古神器之Vim编辑器
在Linux操作环境下进行文本的编辑少不了编辑器vi ,vim,nona...
一. 修改颜色方案
有时候,使用vim打开一个文件,竟然是蓝色的,辨识度相当的差,这个时候,我们可以调整 一下颜色的搭配,废话不多说,go
1) 颜色方案
cd /usr/share/vim/vim74/colors //不同的系统目录可能不同,可能是vim72或者其它
README.txt delek.vim industry.vim pablo.vim slate.vim
blue.vim desert.vim koehler.vim peachpuff.vim torte.vim
darkblue.vim elflord.vim morning.vim ron.vim zellner.vim
default.vim evening.vim murphy.vim shine.vim
2)设置颜色搭配
vim ~/.vimrc
//添加如下两行
colorscheme peachpuff
syntax on
//第一行选择peachpuff配色方案,第二行在mac下必备,linux下不需要
根据自己的需要进行私有配置
3)全局的设置默认打开
vim /etc/vimrc 添加 set nu
二。插件安装
Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件。插件管理器用于方便、快速的安装、删除、Vim更新插件。vim Vundle插件官方地址:https://github.com/VundleVim/Vundle.vim。
1)安装git
yum install git
2)创建目录
mkdir ~/.vim/bundle/
3)克隆插件
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
4)添加配置信息
set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'gmarik/Vundle.vim' call vundle#end()
在此记录一下Vim常用的一些操作
1.删除多行
:1,10d 回车 删除 1到10行数据
2.删除单行
dd
3.删除单个字符
x
4.删除至行首
d0
5. 删除光标之后的每行的部分
d$
6.复制多行
:10,20 co 33 将10到20行数据 复制到33行
7.移动行
:3 move 10 将第三行数据移动到第10行
8.搜索 /
向下查找: n
向上查找: #
9.显示/关闭行号
set nu
set nonu
10. 将一个文件读入到当前位置
:r /root/py/for_operation.py
11.查看文件并显示行号
cat -b 文件
12. vim 比较两个文件
- 使用vim的比较模式打开两个文件:
vim -d file1 file2
或
vimdiff file1 file2
- 如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
如果没有用vert命令,diffsplit则会分上下两个窗口。
- 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
分别在两个窗口里面输入命令:
:diffthis
- 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate
- 定位到不同点:
[c 跳到前一个不同点
]c 跳到后一个不同点
- 在窗口间跳转:
ctrl-w w 跳到下一个窗口
ctrl-w h 跳到左侧窗口
ctrl-w l 跳到右侧窗口
ctrl-w j 跳到下方的窗口
ctrl-w k 跳到上方的窗口
- 合并文档:
dp 将差异点的当前文档内容应用到另一文档(diff put)
do 将差异点的另一文档的内容拷贝到当前文档(diff get)
- 上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
:set diffopt=context:3
可以用简单的折叠命令来临时展开被折叠的相同的文本行:
zo (folding open, z这个字母看上去比较像折叠的纸)
然后可以用下列命令来重新折叠:
zc (folding close)
13. 删除至行末尾
:D
14.删除全部
G//跳转到最后 1,.d
- 移至当前行首
命令行下输入 "0"
- 移至当前行尾
命令行下输入 "$"
15.打开多个文件
vim -o file1 file2 打开的两个文件上下窗口分布 vim -O file1 file2 打开的两个文件左右窗口分布
16.批量替换
:%s /原内容/目标内容
17.移动当前行
//光标放置在要移动的行 :m +3 //向下移动三行 :m -1 //向上移动一行
常用配置项:
" show line number set nu " open highlight
colorscheme desert
syntax on "突出显示当前行 set cursorline " 显示状态栏 set laststatus=2 " 智能补全 set completeopt=longest,menu " 显示光标当前位置 set ruler set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'gmarik/Vundle.vim' Plugin 'vim-scripts/indentpython.vim' Plugin 'Valloric/YouCompleteMe' call vundle#end()
注释为“
常见问题:
1. 打开文件,显示中文乱码
解决:
vim ~/.vimrc set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8