QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3305|回复: 13

Vim 不能自动缩进和高亮显示代码

[复制链接]
发表于 2004-4-11 08:34:52 | 显示全部楼层 |阅读模式
写shell脚本的时候不能自动缩进,也不能高亮显示代码。
以前的1.1 Final也不能自动缩进。
是我的Vim少了什么文件吗?

------------------------------------------------------------------------------
问题的解决办法(根据兄弟们的回帖整理):
打开你的home目录下的.vimrc文件,加上下面两行内容(如果没有这个文件,就自己建一个):
syntax on
set autoindent

其中" syntax on "是语法加亮模式开启
set autoindent是自动缩进
另,如果你想让VIM显示行号,再加上这一句:
set number

不过我再1.2 pre6里的konsole里使用Vim的时候,不能自动缩进和高亮显示,文本模式下使用Vim时没有问题。

------------------------------------------------------------------------------
发表于 2004-4-11 09:25:49 | 显示全部楼层

Re: Vim 不能自动缩进和高亮显示代码

[quote:d4cc684cf7="VimChina"]写shell脚本的时候不能自动缩进,也不能高亮显示代码。
以前的1.1 Final也不能自动缩进。
是我的Vim少了什么文件吗? [/quote]
Sorry I am not sure,maybe you try:
add the following  to the file $HOME/.vimrc(if it doesn't  exist,just create)
syntax on
回复

使用道具 举报

发表于 2004-4-11 10:18:35 | 显示全部楼层
:set syntax on
that will be ok.
If still can't, try to run vim instead of vi.
回复

使用道具 举报

 楼主| 发表于 2004-4-11 11:23:31 | 显示全部楼层
I created the .vimrc file:

--------------------------
set syntax on
set number
-------------------------
but there is something wrong :

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2004-4-11 11:29:50 | 显示全部楼层
[quote:54c8a98149="VimChina"]I created the .vimrc file:

--------------------------
set syntax on
set number
-------------------------
but there is something wrong :[/quote]
And it's OK now ??
回复

使用道具 举报

 楼主| 发表于 2004-4-11 11:34:07 | 显示全部楼层
[quote:8997c76ad6="jin_liu"][quote:8997c76ad6="VimChina"]I created the .vimrc file:

--------------------------
set syntax on
set number
-------------------------
but there is something wrong :[/quote]
And it's OK now ?? [/quote]
yeah ,it works well !
Thank you for your help !
回复

使用道具 举报

 楼主| 发表于 2004-4-11 12:55:59 | 显示全部楼层
发现还是不能自动缩进,郁闷 :-(
回复

使用道具 举报

发表于 2004-4-11 15:43:28 | 显示全部楼层
:set autoindent
回复

使用道具 举报

 楼主| 发表于 2004-4-11 15:54:47 | 显示全部楼层
[quote:b8c8b84d4b="Veldrin"]:set autoindent[/quote]

Thanks !
It works well now !
回复

使用道具 举报

发表于 2004-4-12 01:07:04 | 显示全部楼层
tell me how to make it works, so i can fix it later.
回复

使用道具 举报

 楼主| 发表于 2004-4-12 16:01:13 | 显示全部楼层
[quote:664096fd8f="jackey"]tell me how to make it works, so i can fix it later.
[/quote]我已经在发问的第一帖上整理好了解决方法,请验收

[quote:664096fd8f="VimChina"]
问题的解决办法(根据兄弟们的回帖整理):
打开你的home目录下的.vimrc文件,加上下面两行内容(如果没有这个文件,就自己建一个):
syntax on
set autoindent

其中" syntax on "是语法加亮模式开启
set autoindent是自动缩进
另,如果你想让VIM显示行号,再加上这一句:
set number

不过我再1.2 pre6里的konsole里使用Vim的时候,不能自动缩进和高亮显示,文本模式下使用Vim时没有问题。
[/quote]
回复

使用道具 举报

发表于 2004-5-17 12:14:57 | 显示全部楼层
如果 大家只是 用 C 语言

可以在 .vimrc中 加入

set cin

这样至少 C 的自动缩进是正常的
回复

使用道具 举报

发表于 2004-5-19 14:02:06 | 显示全部楼层
拷贝一份/usr/share/vim/vim61/vimrc_example.vim 到 ~/.vimrc即可。


我自己的如下:


" An example for a vimrc file.
"
" Maintainer:   Bram Moolenaar <[email protected]>
" Last change:  2002 May 28
"
" To use it, copy it to
"     for Unix and OS/2:  ~/.vimrc
"             for Amiga:  s:.vimrc
"  for MS-DOS and Win32:  $VIM\_vimrc
"           for OpenVMS:  sys$login:.vimrc

" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
  finish
endif

" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

set shiftwidth=4
set tabstop=4

set autoindent          " always set autoindenting on
if has("vms")
  set nobackup          " do not keep a backup file, use versions instead
else
  set backup            " keep a backup file
endif
set history=50          " keep 50 lines of command line history
set ruler               " show the cursor position all the time
set showcmd             " display incomplete commands
set incsearch           " do incremental searching

" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")

" Don't use Ex mode, use Q for formatting
map Q gq

" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
  syntax on
  set hlsearch
endif

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  " Enable file type detection.
  " Use the default filetype settings, so that mail gets 'tw' set to 72,
  " 'cindent' is on in C files, etc.
  " Also load indent files, to automatically do language-dependent indenting.
  filetype plugin indent on

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=78

  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif

endif " has("autocmd")
colors evening

set cin
set bdir=~/.vimbk
function CloseWindow()
        let s:win_name="/dev/null"
        if s:win_name== "/dev/null"
                exec "close"
        endif
endfunction

function RunCmd(cmd)
        if a:cmd == ""
                return
        endif

        exec "w"
        exec "sp! /dev/null"
        exec "r! ".a:cmd ." 2>&1"
        exec "w"
        exec "normal \<C-W>J"
        exec "normal \<C-W>8-"
        normal gg
endfunction

function RunCurrentFile()
        let s:filename=argv(argidx())
        if s:filename == ""
                return
        endif
        call RunCmd("./".s:filename)
endfunction

map <F12> <ESC>:call RunCurrentFile()<CR>
map <F11> <ESC>:call CloseWindow()<CR>
map <F10> <ESC>:call RunCmd("make")<CR>

"set fileencoding=utf-8
"set encoding=utf-8

set encoding=gb2312



加了三个函数用来处理三个快捷键:
F12    运行当前打开的文件,并分割一个窗口存放输出结果
F11   关闭当前窗口
F10   运行make

另外需要建立一个~/.vimbk目录,用来存放备份文件。
回复

使用道具 举报

发表于 2004-5-19 21:47:37 | 显示全部楼层
我的另一个版本的.vimrc


[root@magic root]# cat ~/.vimrc
source /usr/share/vim/vim62/vimrc_example.vim
set nobk
set ai
set cin
set encoding=gb2312
color darkblue
"set guifont=Terminal
set guifont=SimSun

"map <F12> <ESC>:sp /dev/null<CR>:r !perl thread3.pl<CR>:w<CR><C-w>J<C-w>8-gg
function CloseWindow()
        let s:win_name="/dev/null"
        if s:win_name== "/dev/null"
                exec "close"
        endif
endfunction

function RunCmd(cmd)
        if a:cmd == ""
                return
        endif

        exec "w"
        exec "sp! /dev/null"
        exec "r! ".a:cmd ." 2>&1"
        exec "w"
        exec "normal \<C-W>J"
        exec "normal \<C-W>8-"
        normal gg
endfunction

function RunCurrentFile()
        let s:filename=argv(argidx())
        if s:filename == ""
                return
        endif
        call RunCmd("./".s:filename)
endfunction

map <F12> <ESC>:call RunCurrentFile()<CR>
map <F11> <ESC>:call CloseWindow()<CR>
map <F10> <ESC>:call RunCmd("make")<CR>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-15 01:11 , Processed in 0.137905 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表