在利用vim撰写文档时,如何也能享用类似word的自动拼写检查功能呢?以下将介绍两种实现vim拼写检查。
1. vim自带的拼写检查
vim编辑器自带拼写检查功能,可用如下命令控制:
:set spell %开启拼写检查
:set spell spelllang=en_us %开启拼写检查功能并指定语言为en_us,如果想检查德语,可用
:set spell spelllang=de
:set nospell % 关闭拼写检查功能
几个相关的命令:
]s :将光标移到下一个拼写错误处
[s :将光标移到上一个拼写错误处
zg :告诉拼写检查器该单词是正确的
zug :取消zg
zw :告诉拼写检查器该单词时错误的
zuw :取消zw
z= :显示一个有关的拼写建议列表
1z= :总是取第一个建议的词
2. 利用插件Engspchk
下载:http://www.vim.org/scripts/script.php?script_id=195
安装:将对应文件放到.vim对应文件夹下
\ec :检查拼写
\ee :结束拼写检查
\ea :选择拼写替换(依赖于agrep)
在我的vim中,mapleader "\" 被","替换了.
2012年10月24日星期三
2012年10月12日星期五
将vim打造成IDE (Fortran)
更新于2012年10月12号
利用vim的插件,可以将vim打造成功能强大的IDE,这些功能主要包括文件快速跳转,变量快速跳转,变量自动补全,快速的批量注释等等。
1. ctags+taglist
主要功能:实现变量的快速跳转;
安装过程:
1> 首先安装ctags
利用vim的插件,可以将vim打造成功能强大的IDE,这些功能主要包括文件快速跳转,变量快速跳转,变量自动补全,快速的批量注释等等。
1. ctags+taglist
主要功能:实现变量的快速跳转;
安装过程:
1> 首先安装ctags
ctags用于产生代码索引文件,建议安装exuberant ctags,下载地址:http://ctags.sourceforge.net/
将文件解压后,进入其目录后,进行安装:
- ./configure
- make
- sudo make install
至此,ctags安装结束。
2> 安装taglist
下载taglisthttp://sourceforge.net/projects/vim-taglist/files/,解压后将对应文件夹下的文件放到~/.vim/的对应文件夹下;进入vim,在normal模式下输入:helptags ~/.vim/doc即完成taglist的安装
3> ctags+taglist的配置和使用 (Ctags的设置待补充)
测试ctags的安装位置: which ctags,输出结果如果是:/usr/local/bin/ctags
则在~/.vimrc文件中添加如下语句:
let Tlist_Ctags_Cmd="/usr/local/bin/ctags"
nmap <silent><F9> :TlistToggle<cr> %定义F9快捷方式打开Taglist窗口,如果后面设置了winmanage后,可以取消该映射。
在taglist其作用之前,必须先用ctags命令生成tags文件,如:ctags -R main.f90,然后打开main.f90文件,F9即可调出taglist了。
2. winmanager
主要功能:多窗口显示和管理,可以将taglist和netrw(filelist)窗口整合起来;
首先下载:http://www.vim.org/scripts/script.php?script_id=95,然后将对应文件放到~/.vim/对应文件夹下(其中plugin下有三个.vim文件,都拷贝到对应目录下)。进入vim,在normal模式下输入:helptags ~/.vim/doc即可完成安装。
然后在~/.vimrc文件中添加如下语句:
let g:winmanagerWindowLayout='FileExplorer|Taglist'
nmap <silent><F8> :WMToggle<cr> %定义F8为快捷方式
注:fileexplorer是netrw插件控制的(FileList),这个插件vim默认自带,所以不需要自己安装。
按下F8后可以打开FileList和TagList,再按下F8关闭该窗口。
不同窗口见的跳转:ctrl+w+w(默认)。
3. MiniBufExplorer
功能:多文件编辑时,文件存放在buffer里,并可以快速切换文件。
安装方法:同上面的Taglist和winmanager插件。
在.vimrc文件中添加以下语句进行设置:
let g:minibufexplmapwindownavvim=1 %ctrl+h/j/k/l进行窗口切换
let g:minibufexplmapwindownavArrows=1 %ctrl+箭头进行窗口切换
使用:
<Tab>移动到下一个buffer;
<Enter>打开光标所在的buffer;
d:删除光标所在的buffer;
4. nerd_commenter
主要功能:只能注释,多行注释与反注释,支持多种程序语言。
安装:方法同上,但别忘了进入vim后,在normal模式下输入:helptags ~/.vim/doc,才完成安装。
然后在.vimrc文件中加入如下语句:
let mapleader=","
map <c-t> ,cc %定义ctrl+t快速注释(适用与normal和visual模式下)
map <c-r> ,cu %定义ctrl+r快速取消注释(normal和visual模式下)
注释命令:
,cc 注释当前行或者选中的文本
,cu 取消当前行或选中文本的注释
,ci 切换选中行的注释状态
,c+space 同,ci
,cA 添加注释到行尾,并进入插入模式
,cl 注释符左对齐
,cr 注释符右对齐
5. Neocomplcache
主要功能:智能自动补全
安装:解压后,将plugin和doc里面的文件放到~/.vim/对应文件夹下,但是解压后还有一个autoload文件夹,直接放到~/.vim/下;最后vim normal模式下:helptags ~/.vim/doc,完成安装。
然后,在.vimrc文件中添加语句:
let g:neocomplcache_enable_at_startup=1
重启vim后即可生效了。
2012年9月20日星期四
vim批注的快捷方式
这里不介绍常用的visual模式下方法,也不给出常用命令的替换方式,而是给出一种映射方式。
当然,NERD_comment.vim插件也提供了快捷注释的功能,这里也不多述。
这里的注释符号以‘%’为例,在vimrc文件中加入如下语句:
" F4 for comment
vmap <F4> :s=^\(\)=\%=g<cr>:noh<cr> % visual 模式下
nmap <F4> :s=^\(\)=\%=g<cr>:noh<cr> % normal 模式下
imap <F4> <ESC>:s=^\(\)=\%=g<cr>:noh<cr> % insert模式下
" F6 for uncomment
vmap <F6> :s=^\(%\)==g<cr>:noh<cr>
nmap <F6> :s=^\(%\)==g<cr>:noh<cr>
imap <F6> <ESC>:s=^\(%\)==g<cr>:noh<cr>
当然,NERD_comment.vim插件也提供了快捷注释的功能,这里也不多述。
这里的注释符号以‘%’为例,在vimrc文件中加入如下语句:
" F4 for comment
vmap <F4> :s=^\(\)=\%=g<cr>:noh<cr> % visual 模式下
nmap <F4> :s=^\(\)=\%=g<cr>:noh<cr> % normal 模式下
imap <F4> <ESC>:s=^\(\)=\%=g<cr>:noh<cr> % insert模式下
" F6 for uncomment
vmap <F6> :s=^\(%\)==g<cr>:noh<cr>
nmap <F6> :s=^\(%\)==g<cr>:noh<cr>
imap <F6> <ESC>:s=^\(%\)==g<cr>:noh<cr>
本质也是vim的替换命令。
:noh表示nohlsearch命令。
重新打开一个新的terminal后,F4和F6就可以用来添加注释和取消注释了。
2012年1月18日星期三
Ubuntu 系统环境变量配置文件介绍
在Ubuntu Linux系统中,有几个文件可以设置系统运行的环境变量,这几个文件分别是 /etc/environment,/etc/profile,~/.profile,/etc/bash.bashrc和~/.bashrc。以下简单介绍一下这几个文件。
/etc/environment:系统登录时读取的第一个文件,该文件为所有进程设置基本环境变量值。
/etc/profile:系统登录时读取的第二个文件,该文件设定针对全系统所有用户的环境变量。
~/.profile:系统登录时读取的第三个文件,该文件定制当前用户的工作环境。
/etc/bash.bashrc:针对所有用户的bash初始化文件,此文件中设定的环境变量对所有用户有效,并且在每次打开bash的时候都会执行一次。
~/.bashrc:当前用户的bash初始化文件,当前用户每次打开shell时都会执行一次。
综上,在$HOME目录下的两个隐藏文件是针对当前用户的,其它三个文件都是全局有效的。以上五个文件的执行顺序为environment>profile>.profile>bash.bashrc>.bashrc
/etc/environment:系统登录时读取的第一个文件,该文件为所有进程设置基本环境变量值。
/etc/profile:系统登录时读取的第二个文件,该文件设定针对全系统所有用户的环境变量。
~/.profile:系统登录时读取的第三个文件,该文件定制当前用户的工作环境。
/etc/bash.bashrc:针对所有用户的bash初始化文件,此文件中设定的环境变量对所有用户有效,并且在每次打开bash的时候都会执行一次。
~/.bashrc:当前用户的bash初始化文件,当前用户每次打开shell时都会执行一次。
综上,在$HOME目录下的两个隐藏文件是针对当前用户的,其它三个文件都是全局有效的。以上五个文件的执行顺序为environment>profile>.profile>bash.bashrc>.bashrc
Linux 环境变量
1. 什么是环境变量
Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的系统环境。通常情况下,每个用户默认的系统环境都是一样的(由/etc/profile、/etc/bash.bashrc文件定制),这些默认环境就是由一些列的环境变量所确定。用户也可以对自己的用户环境进行定制(下面会有介绍)。因此,一个特定用户的环境是由系统默认环境+自己定制环境决定。
2. 常用的环境变量及其作用
PATH:决定了SHELL将到哪些目录下寻找命令或程序(下面会有详述)。
HOME:当前用户的主目录。
SHELL:当前用户使用的是那种shell。
HISTSIZE:保存历史命令记录的条数。
此外还有HOSTNAME,LANG,PS1, PS2等环境变量。
3. 环境变量的设置
环境变量的定义和设置有两种基本方法。
方法一:name=value; export name
方法二:export name=value (ksh和bash支持此种方法)
那么上述定义或添加环境变量的语句应该加在何处呢?具体有什么区别呢?
方法一:直接在终端添加上述语句。
此方法添加的环境变量只在当前的shell中起作用。只适用于临时更改环境变量,如果希望设置的环境变量能够持久有效,需要在linux环境变量配置文件中添加上述语句。关于linux环境变量的配置文件可以参考博客中的其它帖子。
方法二:在.bashrc或.profile文件中添加上述语句
添加完上述语句后,注销再重启机器,更改的环境变量即可生效,但只对当前用户有效。
方法三:在profile文件中添加上述语句
该方法更改的环境变量对所有用户有效,重启系统后起作用。
4. 环境变量命令介绍
echo $PATH: 显示环境变量值;
name=value;export $name: 定义新的环境变量name;
env: 显示所有环境变量;
set: 显示本地定义的shell变量;
unset: 清除环境变量,如unset $name;
readonly: 设置只读环境变量,如:name=value;export $name;readonly $name.
5. PATH环境变量
a) PATH变量的作用:
PATH简单说来就是一个字符串变量,当输入命令时系统会根据PATH里面记录的路径去查找这些命令。如在~目录下输入ls,输入ls命令后,系统会根据PATH中记录的路径去查找这个命令。通常这些命令都保存在.../bin目录下,所以PATH值恰恰就是/bin:/sbin:/usr/bin等。其中:使目录与目录之间隔开。
b) 新增自定义论经
假设新安装了一个命令在/usr/lib/gmt/bin目录下,又想在任何地方都能使用这个命令,就需要在环境变量PATH后增加该目录了。使用如下命令即可:
export PATH="$PATH:/usr/lib/gmt/bin"
如果上述命令添加在.bashrc文件中,注销重启后该环境变量即可生效。
Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的系统环境。通常情况下,每个用户默认的系统环境都是一样的(由/etc/profile、/etc/bash.bashrc文件定制),这些默认环境就是由一些列的环境变量所确定。用户也可以对自己的用户环境进行定制(下面会有介绍)。因此,一个特定用户的环境是由系统默认环境+自己定制环境决定。
2. 常用的环境变量及其作用
PATH:决定了SHELL将到哪些目录下寻找命令或程序(下面会有详述)。
HOME:当前用户的主目录。
SHELL:当前用户使用的是那种shell。
HISTSIZE:保存历史命令记录的条数。
此外还有HOSTNAME,LANG,PS1, PS2等环境变量。
3. 环境变量的设置
环境变量的定义和设置有两种基本方法。
方法一:name=value; export name
方法二:export name=value (ksh和bash支持此种方法)
那么上述定义或添加环境变量的语句应该加在何处呢?具体有什么区别呢?
方法一:直接在终端添加上述语句。
此方法添加的环境变量只在当前的shell中起作用。只适用于临时更改环境变量,如果希望设置的环境变量能够持久有效,需要在linux环境变量配置文件中添加上述语句。关于linux环境变量的配置文件可以参考博客中的其它帖子。
方法二:在.bashrc或.profile文件中添加上述语句
添加完上述语句后,注销再重启机器,更改的环境变量即可生效,但只对当前用户有效。
方法三:在profile文件中添加上述语句
该方法更改的环境变量对所有用户有效,重启系统后起作用。
4. 环境变量命令介绍
echo $PATH: 显示环境变量值;
name=value;export $name: 定义新的环境变量name;
env: 显示所有环境变量;
set: 显示本地定义的shell变量;
unset: 清除环境变量,如unset $name;
readonly: 设置只读环境变量,如:name=value;export $name;readonly $name.
5. PATH环境变量
a) PATH变量的作用:
PATH简单说来就是一个字符串变量,当输入命令时系统会根据PATH里面记录的路径去查找这些命令。如在~目录下输入ls,输入ls命令后,系统会根据PATH中记录的路径去查找这个命令。通常这些命令都保存在.../bin目录下,所以PATH值恰恰就是/bin:/sbin:/usr/bin等。其中:使目录与目录之间隔开。
b) 新增自定义论经
假设新安装了一个命令在/usr/lib/gmt/bin目录下,又想在任何地方都能使用这个命令,就需要在环境变量PATH后增加该目录了。使用如下命令即可:
export PATH="$PATH:/usr/lib/gmt/bin"
如果上述命令添加在.bashrc文件中,注销重启后该环境变量即可生效。
2012年1月11日星期三
linux ln命令
ln 命令是为某个文件在另一个不同的位置建立一个同步的链接。建立该链接通常分为两种,一种称为软链接(加参数 -s),一种称为硬链接(不加参数)。所谓软链接,是在选定的位置上生成一个文件的镜像,不额外占用磁盘空间;硬链接,在选定的位置上生成一个和源文件大小相同的文件,即拷贝。
应用:当需要在不同的目录用到相同的文件时,不许要在每一个目录下都放一个相同的文件,只需要在某个固定的目录放上该文件,然后在其他的目录下ln链接它即可,不重复占用资源。
例如: ln -s /bin/less /usr/local/bin/less
注意: ln命令会保持每一步链接文件的同步性,不论改动了哪一处,其他文件会发生相同的变化;
应用:当需要在不同的目录用到相同的文件时,不许要在每一个目录下都放一个相同的文件,只需要在某个固定的目录放上该文件,然后在其他的目录下ln链接它即可,不重复占用资源。
例如: ln -s /bin/less /usr/local/bin/less
注意: ln命令会保持每一步链接文件的同步性,不论改动了哪一处,其他文件会发生相同的变化;
2011年12月19日星期一
.bashrc文件(待完善)
shell定制,常用的设置写入.bashrc文件,写入文件后用source .bashrc命令运行,设置即可生效;
"设置显示路径,~目录加当前目录
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\W\$ '
fi
"常用片假名设置
# some more ls aliases
alias ll='ls -alF'
alias la='ls -a'
alias l='ls -CF'
alias clc='clear'
alias rm='rm -i'
alias cat='cat -b'
alias echo='echo -e'
vimrc文件(待完善)
vim的常用设置
set nocompatible
set lines=35 columns=120
colorscheme evening
set background=dark
set nu
filetype on
filetype plugin on
filetype plugin indent on
filetype indent on
set textwidth=120
syntax enable
syntax on
"set cursorline
set cmdheight=1
set autoindent
set smartindent
set ruler
set foldmethod=syntax
set shiftwidth=4
set softtabstop=4
let fortran_free_source=1
let fortran_more_precise=1
let fortran_do_enddo=1
let fortran_have_tabs=1
let fortran_fold=1
set foldcolumn=4
nmap <F9> <ESC> :!ctags -R *<CR>
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Show_Menu=1
let g:winManagerWindowLayout="NERDTree|Taglist,BufExplorer"
let g:winManagerWidth=30
nmap <silent> <F8> :WMToggle<CR>
let Tlist_WinWidth=25
let Tlist_WinHeight=18
let NERDTreeWinSize=25
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set hlsearch
set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes)
订阅:
博文 (Atom)