之前一篇博文原本是在Windows Live Writer中写的,但是发布以后格式有点乱,直接编辑因为缩进中既有空格又有tab,文章中既有空行又有包含空格的空行,编辑起来比较麻烦。既然在总结vim就直接用vim来做算了,从Windows Live Writer中将文章复制到vim中,内容如下:

vi vimset.txt 按i进入编辑模式粘贴如下内容:

 
  1. 当前系统环境:Centos 5.5 64位文本模式最小化安装(仅安装233个软件包)详细参照:centos5.5最小化安装之软件包选择  
  2.  
  3. 1.语法高亮设置:  
  4.  
  5.        1.安装vim增强包:vim-enhanced软件包:  
  6.  
  7.           yum install vim-enhanced  
  8.  
  9.           此包依赖于:gpm perl vim-common 4个软件包同属base组;  
  10.  
  11.           会安装一共5个软件包,   
  12.        2.vi /root/.vimrc    || 开启高亮显示  
  13.  
  14.           syntax on 
  15.  
  16.        3.vi /root/.bashrc  || 解决root用户不能高亮显示   
  17.           添加:alias vi=’vim’  
  18.  
  19.           source .bashrc || 使修改立即生效  
  20.  
  21.        4.ssh secure shell   
  22.           connection-terminal-vt100的话高亮不显示,全部为下划线  
  23.  
  24.           SSH Secure Shell Client设置终端类型为ansi或者xterm能解决vim语法高亮变成下划线问题  
  25.  
  26.        5.当前用户目录.bash_profile文件末添加:   
  27.           export TERM=xterm-color  
  28.  
  29. 2.设置显示行号;   
  30.    cp /etc/vimrc /root/.vimrc   
  31.    .vimrc最后输入:set nu  
  32.  
  33. 3.设置自动缩进:  
  34.  
  35.               /root/.vimrc 添加以下内容   
  36.  
  37.             set autoindent  
  38.  
  39.     设置使用C/C++语言的自动缩进方式:    
  40.     set cindent  
  41.  
  42. 4.设置括号等成对出现的符号自动补全:  
  43.  
  44.     :inoremap ( ()<ESC>i   
  45.     :inoremap ) <C-R>=ClosePair(')')<CR>   
  46.     :inoremap { {<CR>}<ESC>O   
  47.     :inoremap } <C-R>=ClosePair('}')<CR>   
  48.     :inoremap [ []<ESC>i   
  49.     :inoremap ] <C-R>=ClosePair(']')<CR>   
  50.     :inoremap " ""<ESC>i   
  51.     :inoremap ' ''<ESC>i   
  52.     :inoremap ` ``<ESC>i   
  53.  
  54. 5.设置tab按键缩进:  
  55.  
  56.         设置(软)制表符宽度为4:    
  57.         set tabstop=4   
  58.         set softtabstop=4    
  59.         设置缩进的空格数为4:    
  60.         set shiftwidth=4  
  61.  
  62. 6.安装插件bash-Support:  
  63.  
  64.        下载:vim.org选择下载一个版本  
  65.  
  66.        mkdir ~/.vim  
  67.  
  68.        cd ~/.vim  
  69.  
  70.        unzip /soft/bash-support.zip  
  71.  
  72.        vi ~/.vimrc(假如你没有自己设置的vimrc文件,可以使用他提供的一个自定义的vimrc  
  73.  
  74.        bash-support/rc/customization.vimrc)添加如下内容:  
  75.  
  76.        filetype plugin on   
  77.  
  78.  
  79.        修改自动插入头部信息:编辑模板文件  
  80.  
  81.        vim /root/.vim/bash-support/templates/Templates   
  82.  
  83.        /root/.vim/bash-support/templates/bash.comments.template  
  84.  
  85. 7.安装vim中文帮助手册:  
  86.  
  87.       1.首先必须要求系统支持显示中文:  
  88.  
  89.          安装前:  
  90.  
  91.           [root@falcontest ~]# locale   
  92.           LANG=en_US.UTF-8   
  93.           LC_CTYPE="en_US.UTF-8"   
  94.           LC_NUMERIC="en_US.UTF-8"   
  95.           LC_TIME="en_US.UTF-8"   
  96.           LC_COLLATE="en_US.UTF-8"   
  97.           LC_MONETARY="en_US.UTF-8"   
  98.           LC_MESSAGES="en_US.UTF-8"   
  99.           LC_PAPER="en_US.UTF-8"   
  100.           LC_NAME="en_US.UTF-8"   
  101.           LC_ADDRESS="en_US.UTF-8"   
  102.           LC_TELEPHONE="en_US.UTF-8"   
  103.           LC_MEASUREMENT="en_US.UTF-8"   
  104.           LC_IDENTIFICATION="en_US.UTF-8"   
  105.           LC_ALL=   
  106.  
  107.           [root@falcontest ~]# cat /etc/sysconfig/i18n   
  108.           LANG="en_US.UTF-8"   
  109.           SYSFONT="latarcyrheb-sun16"   
  110.  
  111.          yum install chinese-support || 安装中文语言支持包,会安装61个软件包  
  112.  
  113.          安装完成后,系统已经支持中文语言了,此时系统使用的默认语言仍然是英文;  
  114.  
  115.          测试中文是否正常:  
  116.  
  117.          使用SecureCRT远程登录系统:  
  118.  
  119.          SecureCRT设置:  
  120.  
  121.          选项-会话选项-外观-字符编码:修改为UTF-8  
  122.  
  123.          选项-会话选项-仿真-终端:选择Xterm,并勾选ANSI颜色;  
  124.  
  125.          外观-选择字体:Fixedsys或者Courier New(根据个人习惯不同选择相应字体)  
  126.  
  127.          设置完成登录系统:  
  128.  
  129.          vi chinese.txt  
  130.  
  131.          切换成中文输入法,输入:我是中国人!:wq 保存退出;  
  132.  
  133.          [root@localhost ~]# cat chinese.txt   
  134.          我是中国人!   
  135.  
  136.          可以看到显示中文没有问题。  
  137.  
  138.          注意:SSH Secure Shell不支持UTF-8编码  
  139.  
  140.       2. 下载vim中文手册安装包:vimcdoc-1.5.0.tar  
  141.  
  142.           1.5.0是vimcdoc的版本,对应的是Vim 7.0  
  143.  
  144.           1.8.0对应VIM7.3  
  145.  
  146.           yum install wget ||测试机器为最小化安装所以无wget命令  
  147.  
  148.           wget http://nchc.dl.sourceforge.net/project/vimcdoc/vimcdoc/1.5.0/vimcdoc-1.5.0.tar.gz  
  149.  
  150.           tar -zxvf vimcdoc-1.5.0.tar.gz  
  151.  
  152.           cd vimcdoc-1.5.0  
  153.  
  154.           sh vimcdoc.sh  -i ||安装,具体可看安装说明:INSTALL  
  155.  
  156.           编辑/root/.vimrc,添加以下内容,以便优先使用中文帮助:  
  157.  
  158.           if version >= 603   
  159.               set helplang=cn   
  160.           endif   
  161.  
  162.        3.测试:  
  163.  
  164.          打开vi,:help查看帮助,中文帮助正常显示,OK  
  165.  
  166. 以上内容整理自互联网。  

然后在vim一般模式输入:

:g/^$/d || 删除空白行

:g/^\s*$/d || 删除包含空格的空白行 ***这两句用这一句就可以了。

gg || 移动到首行首字符

:%s/^\s*//g || 删除行首空格

 

或者将文件保存为vimset.txt,直接执行以下命令即可(不用再vim里做以上3个动作,直接保存然后命令行执行以下命令):

 
  1. 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

 
  1. :[range]g[lobal]/{pattern}/[cmd]   
  2. 的用法:  
  3. [range] || 用来指定命令处理的范围(不指定的话默认是全文即整个缓冲区(1,$));  
  4. {pattern} || 匹配模式  
  5. //是用来包含匹配模式,可以用除了数字和字母的其他任意单字节字符;例如(` ~ ! @ # % & * |等等)  
  6. [cmd]针对匹配的行所执行的命令,不指定的话默认是:p  
  7. g即global命令会执行两次:在[range]指定的范围内搜索匹配{pattern}的行进行标记,然后针对标记的这些行执行[cmd]指定的命令; 

 ^ 表示行首

$ 表示行尾

 \s 表示空格和制表符

* 代表对前面的字符(此处为\s)匹配零次或多次 

2.vim命令:substitute

 
  1. [range]s[ubstitute]/{pattern}/{string}/[flags] [count]  
  2. [range] 表示范围 与g命令不同的是这里范围不指定默认是当前行;  
  3. s即substitute:表示替换动作  
  4. /{pattern}/{string}/ 表示用{string}替换{pattern}  
  5. [flags] 可选标志  

3.vim -c {command} 

 

4.sed G

# 将原来的所有空行删除并在每一行后面增加一空行。
# 这样在输出的文本中每一行后面将有且只有一空行。
 

 

 
  1. -c {command}    在读入第一个文件后执行命令 {command} (在自动命令和文件的模式行  
  2.                 处理之后)。"command" 按 Ex 命令来解释。如果 "command" 包含空  
  3.                 格,应该用双引号括起该命令 (取决于使用的shell)。  
  4.                 示例: >  
  5.                         vim  "+set si"  main.c  
  6.                         vim  "+find stdio.h" 
  7.                         vim  -c "set ff=dos"  -c wq  mine.mak  
  8.