之前一篇博文原本是在Windows Live Writer中写的,但是发布以后格式有点乱,直接编辑因为缩进中既有空格又有tab,文章中既有空行又有包含空格的空行,编辑起来比较麻烦。既然在总结vim就直接用vim来做算了,从Windows Live Writer中将文章复制到vim中,内容如下:
vi vimset.txt 按i进入编辑模式粘贴如下内容:
- 当前系统环境:Centos 5.5 64位文本模式最小化安装(仅安装233个软件包)详细参照:centos5.5最小化安装之软件包选择
- 1.语法高亮设置:
- 1.安装vim增强包:vim-enhanced软件包:
- yum install vim-enhanced
- 此包依赖于:gpm perl vim-common 4个软件包同属base组;
- 会安装一共5个软件包,
- 2.vi /root/.vimrc || 开启高亮显示
- syntax on
- 3.vi /root/.bashrc || 解决root用户不能高亮显示
- 添加:alias vi=’vim’
- source .bashrc || 使修改立即生效
- 4.ssh secure shell
- connection-terminal-vt100的话高亮不显示,全部为下划线
- SSH Secure Shell Client设置终端类型为ansi或者xterm能解决vim语法高亮变成下划线问题
- 5.当前用户目录.bash_profile文件末添加:
- export TERM=xterm-color
- 2.设置显示行号;
- cp /etc/vimrc /root/.vimrc
- .vimrc最后输入:set nu
- 3.设置自动缩进:
- /root/.vimrc 添加以下内容
- set autoindent
- 设置使用C/C++语言的自动缩进方式:
- set cindent
- 4.设置括号等成对出现的符号自动补全:
- :inoremap ( ()<ESC>i
- :inoremap ) <C-R>=ClosePair(')')<CR>
- :inoremap { {<CR>}<ESC>O
- :inoremap } <C-R>=ClosePair('}')<CR>
- :inoremap [ []<ESC>i
- :inoremap ] <C-R>=ClosePair(']')<CR>
- :inoremap " ""<ESC>i
- :inoremap ' ''<ESC>i
- :inoremap ` ``<ESC>i
- 5.设置tab按键缩进:
- 设置(软)制表符宽度为4:
- set tabstop=4
- set softtabstop=4
- 设置缩进的空格数为4:
- set shiftwidth=4
- 6.安装插件bash-Support:
- 下载:vim.org选择下载一个版本
- mkdir ~/.vim
- cd ~/.vim
- unzip /soft/bash-support.zip
- vi ~/.vimrc(假如你没有自己设置的vimrc文件,可以使用他提供的一个自定义的vimrc
- bash-support/rc/customization.vimrc)添加如下内容:
- filetype plugin on
- 修改自动插入头部信息:编辑模板文件
- vim /root/.vim/bash-support/templates/Templates
- /root/.vim/bash-support/templates/bash.comments.template
- 7.安装vim中文帮助手册:
- 1.首先必须要求系统支持显示中文:
- 安装前:
- [root@falcontest ~]# locale
- LANG=en_US.UTF-8
- LC_CTYPE="en_US.UTF-8"
- LC_NUMERIC="en_US.UTF-8"
- LC_TIME="en_US.UTF-8"
- LC_COLLATE="en_US.UTF-8"
- LC_MONETARY="en_US.UTF-8"
- LC_MESSAGES="en_US.UTF-8"
- LC_PAPER="en_US.UTF-8"
- LC_NAME="en_US.UTF-8"
- LC_ADDRESS="en_US.UTF-8"
- LC_TELEPHONE="en_US.UTF-8"
- LC_MEASUREMENT="en_US.UTF-8"
- LC_IDENTIFICATION="en_US.UTF-8"
- LC_ALL=
- [root@falcontest ~]# cat /etc/sysconfig/i18n
- LANG="en_US.UTF-8"
- SYSFONT="latarcyrheb-sun16"
- yum install chinese-support || 安装中文语言支持包,会安装61个软件包
- 安装完成后,系统已经支持中文语言了,此时系统使用的默认语言仍然是英文;
- 测试中文是否正常:
- 使用SecureCRT远程登录系统:
- SecureCRT设置:
- 选项-会话选项-外观-字符编码:修改为UTF-8
- 选项-会话选项-仿真-终端:选择Xterm,并勾选ANSI颜色;
- 外观-选择字体:Fixedsys或者Courier New(根据个人习惯不同选择相应字体)
- 设置完成登录系统:
- vi chinese.txt
- 切换成中文输入法,输入:我是中国人!:wq 保存退出;
- [root@localhost ~]# cat chinese.txt
- 我是中国人!
- 可以看到显示中文没有问题。
- 注意:SSH Secure Shell不支持UTF-8编码
- 2. 下载vim中文手册安装包:vimcdoc-1.5.0.tar
- 1.5.0是vimcdoc的版本,对应的是Vim 7.0
- 1.8.0对应VIM7.3
- yum install wget ||测试机器为最小化安装所以无wget命令
- wget http://nchc.dl.sourceforge.net/project/vimcdoc/vimcdoc/1.5.0/vimcdoc-1.5.0.tar.gz
- tar -zxvf vimcdoc-1.5.0.tar.gz
- cd vimcdoc-1.5.0
- sh vimcdoc.sh -i ||安装,具体可看安装说明:INSTALL
- 编辑/root/.vimrc,添加以下内容,以便优先使用中文帮助:
- if version >= 603
- set helplang=cn
- endif
- 3.测试:
- 打开vi,:help查看帮助,中文帮助正常显示,OK
- 以上内容整理自互联网。
然后在vim一般模式输入:
:g/^$/d || 删除空白行
:g/^\s*$/d || 删除包含空格的空白行 ***这两句用这一句就可以了。
gg || 移动到首行首字符
:%s/^\s*//g || 删除行首空格
或者将文件保存为vimset.txt,直接执行以下命令即可(不用再vim里做以上3个动作,直接保存然后命令行执行以下命令):
- vim -c 'g/^\s*$/d' -c '%s/^\s*//g' -c "wq" vimset.txt >/dev/null 2>&1
vim -c参数说明:
以上这段内容来自vim中文帮助手册:vimcdoc-1.5.0 ;
当然更可以手工编辑:
依次向下移动到行首用空白的行,按w移动到下一个词的首字符,然后执行d0,重复执行到文档最后一行。最后再逐行编辑统一使用tab进行缩进并保存退出。
然后使用cat vimset.txt|sed G>vimset2.txt命令给每一行下边添加一个空白行,得到最后的博文格式,粘贴发布即可。
总结:
1.wim 命令:global
- :[range]g[lobal]/{pattern}/[cmd]
- 的用法:
- [range] || 用来指定命令处理的范围(不指定的话默认是全文即整个缓冲区(1,$));
- {pattern} || 匹配模式
- //是用来包含匹配模式,可以用除了数字和字母的其他任意单字节字符;例如(` ~ ! @ # % & * |等等)
- [cmd]针对匹配的行所执行的命令,不指定的话默认是:p
- g即global命令会执行两次:在[range]指定的范围内搜索匹配{pattern}的行进行标记,然后针对标记的这些行执行[cmd]指定的命令;
^ 表示行首
$ 表示行尾
\s 表示空格和制表符
* 代表对前面的字符(此处为\s)匹配零次或多次
2.vim命令:substitute
- [range]s[ubstitute]/{pattern}/{string}/[flags] [count]
- [range] 表示范围 与g命令不同的是这里范围不指定默认是当前行;
- s即substitute:表示替换动作
- /{pattern}/{string}/ 表示用{string}替换{pattern}
- [flags] 可选标志
3.vim -c {command}
4.sed G
# 将原来的所有空行删除并在每一行后面增加一空行。 # 这样在输出的文本中每一行后面将有且只有一空行。
- -c {command} 在读入第一个文件后执行命令 {command} (在自动命令和文件的模式行
- 处理之后)。"command" 按 Ex 命令来解释。如果 "command" 包含空
- 格,应该用双引号括起该命令 (取决于使用的shell)。
- 示例: >
- vim "+set si" main.c
- vim "+find stdio.h"
- vim -c "set ff=dos" -c wq mine.mak