| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4840 人关注过本帖
标题:vi如何自动缩进
只看楼主 加入收藏
逐鹿Internet
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2011-8-31
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
vi如何自动缩进
目前的情况是每写个c程序就要:set smartindent设置一下才可以自动缩进,也就是只对一个文件有效。如何设置才对每个文件有效,以后每新建文件都自动缩进,我用的是cygwin(模拟linux),在/etc/下没有vimrc文件,求解,谢谢
搜索更多相关主题的帖子: c程序 如何 linux 新建 
2011-09-03 18:59
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:2 
find / -name 'vimrc'

用这个命令搜搜看看vimrc在哪里

那一年,苍井空还是处女
2011-09-03 19:10
逐鹿Internet
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2011-8-31
收藏
得分:0 
回复 2楼 外部三电铃
找了半小时也没有找到
2011-09-03 20:20
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:1 
那就在当前用户目录下建个.vimrc文件

那一年,苍井空还是处女
2011-09-03 20:29
逐鹿Internet
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2011-8-31
收藏
得分:0 
回复 4楼 外部三电铃
然后呢?麻烦详细点。
2011-09-03 21:15
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:1 
把set smartindent写进去,然后重启vim,再不行在/etc里面也建一个同样的.vimrc,重启linux系统

那一年,苍井空还是处女
2011-09-03 22:24
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:1 
忽然想起来一个办法,可以查起作用的vimrc文件到底是哪一个

在vim里面按“:”号,然后输入scriptnames,回车,然后会列出来所有加载的配置文件,当然也包括vimrc

那一年,苍井空还是处女
2011-09-03 22:28
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:2 
就在你自己的 home 里创建一个 .vimrc 就行了。
或者你进 vi 之后输入 :e $MYVIMRC 也可以。

vim 自带了一个标准 vimrc 的示例,你 :e $VIMRUNTIME 一下,里面可能会有一个叫 vimrc_example.vim 的文件。
你把它复制到自己的文件夹下,改名成 .vimrc 也行。(即使想自己配置 vim 一般也可以从这个文件开始)

如果你没有那个文件的话,以下是它的全部内容:


[ 本帖最后由 pangding 于 2011-9-4 00:11 编辑 ]
2011-09-04 00:07
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:2 
" An example for a vimrc file.
"
" Maintainer:    Bram Moolenaar <Bram@
" Last change:    2008 Dec 17
"
" 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 than 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

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

" CTRL-U in insert mode deletes a lot.  Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
inoremap <C-U> <C-G>u<C-U>

" In many terminal emulators the mouse works just fine, thus enable it.
if has('mouse')
  set mouse=a
endif

" 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

  " Put these in an autocmd group, so that we can delete them easily.
  augroup vimrcEx
  au!

  " 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).
  " Also don't do it when the mark is in the first line, that is the default
  " position when opening a file.
  autocmd BufReadPost *
    \ if line("'\"") > 1 && line("'\"") <= line("$") |
    \   exe "normal! g`\"" |
    \ endif

  augroup END

else

  set autoindent        " always set autoindenting on

endif " has("autocmd")

" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" Only define it when not defined already.
if !exists(":DiffOrig")
  command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
          \ | wincmd p | diffthis
endif
2011-09-04 00:11
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
一般人还比较喜欢加上
set number
以显示行号,
set shiftwidth=4
之类的以便每次自动缩进 4 个空格的位置。
还有很多常用的配置,但基本是根据个人喜好设置的。

如果你想用这些配置,就把上面的那些 set 的东西复制到 .vimrc 的最后就行了。

不过习惯上  .vimrc 里面放的是全局都用的设置。普遍来讲,vi 默认的设置都还好,不用过多的定制。
.vimrc 里一般都是加些 abbreviate 来节约打字时间或更正打字错误。和一些常用的 map。
其它的东西,一般是放在文件相关的配置文件里。比如可以自定义 c.vim 之类的文件,它会在加载 vim 认为是 c 语言的文件时加载。那里定义的东西只在编辑的文件类型是 c 时才生效。
这些比较麻烦。一开始的时候就都放一块就行了,日后编辑不同类型的文件时,如果觉得功能不方便,或者想定义的按键有冲突时,可以再深入学习 vim 的配置方法。
2011-09-04 00:25
快速回复:vi如何自动缩进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035856 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved