文章随机晒最新文章关照最多的

jiayi Rss

OpenSolaris vim 配置

| Posted in OpenSolaris |

22

OpenSolarisvim 配了将近2个小时。比搭samp还难。。。

OpenSolaris 自带 vim 7,1,按说版本不低,但用上去相当崩溃,backspace 键行为古怪,只能撤销一次操作,语法高亮效果极次,等等等……今晚把openSUSE 11.0 里自己的 .vimrc 文件拽到 OpenSolaris 上,其他的问题都解决了,唯独彩色的语法高亮始终没有出现(当时所提供的语法高亮只是将关键字加粗,一些符号加下滑线)…不带高亮的 vim 用个P 哦…

Baidu 得知,在 .vimrc 中加上 term=sun-color,这样确实解决了问题,漂亮的语法高亮出现,但随后又有了新的问题:退出vim 后文本还停留在终端上,打开vim时终端的提示符会将文本覆盖,等等等…继续求索,google 英文得到正解,终端设成 term=xtermc。最初设成 xterm 没成功,xtermc 便搞定…恩,这时vim 和终端行为一切正常~

还有个小挠头的问题,退出时光标的位置不能被vim记录,下次打开文本光标又回到首行…
同样google解决…在 .vimrc 中加入

" Tell vim to remember certain things when we exit
"  ’10 : marks will be remembered for up to 10 previously edited files
"  "100 : will save up to 100 lines for each register
"  :20 : up to 20 lines of command-line history will be remembered
"  % : saves and restores the buffer list
"  n… : where to save the viminfo files
set viminfo=’10,"100,:20,%,n~/.viminfo

" when we reload, tell vim to restore the cursor to the saved position
augroup JumpCursorOnEdit
au!
autocmd BufReadPost *
if expand("<afile>:p:h") !=? $TEMP |
if line("’"") > 1 && line("’"") <= line("$") |
let JumpCursorOnEdit_foo = line("’"") |
let b:doopenfold = 1 |
if (foldlevel(JumpCursorOnEdit_foo) > foldlevel(JumpCursorOnEdit_foo – 1)) |
let JumpCursorOnEdit_foo = JumpCursorOnEdit_foo – 1 |
let b:doopenfold = 2 |
endif |
exe JumpCursorOnEdit_foo |
endif |
endif
" Need to postpone using "zv" until after reading the modelines.
autocmd BufWinEnter *
if exists("b:doopenfold") |
exe "normal zv" |
if(b:doopenfold > 1) |
exe "+".1 |
endif |
unlet b:doopenfold |
endif
augroup END

从用 openSUSE 10.1 以来,vim 配置月来越傻瓜,我也月来越傻瓜了……

总结起来,最关键的是在 .vimrc 中加上 term=xtermc,至于为什么,谁用 OpenSolaris 谁知道。。。



Comments (22)

赞~被这个问题困扰过的人飘过~

飘过··确实很难

厄,什么都看不懂~~

Write a comment

You must be logged in to post a comment.