编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux 终端模式下 vim 的一些个人配置

wxchong 2024-07-19 05:43:28 开源技术 11 ℃ 0 评论

默认的全局配置在/etc/vimrc

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=ucs-bom,utf-8,latin1
endif
set nocompatible " Use Vim defaults (much better!)
set bs=indent,eol,start "allow backspacing over everything in insert mode
"set ai " always set autoindenting on
"set backup " keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
" Only do this part when compiled with support for autocommands
if has("autocmd")
augroup redhat
autocmd!
" In text files, always limit the width of text to 78 characters
" autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
" don't write swapfile on most commonly used directories for NFS mounts or USB sticks
autocmd BufNewFile,BufReadPre /media/*,/run/media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
" start with spec file template
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
augroup END
endif
if has("cscope") && filereadable("/usr/bin/cscope")
set csprg=/usr/bin/cscope
set csto=0 set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add $PWD/cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
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
filetype plugin on
if &term=="xterm"
set t_Co=8
set t_Sb=m
set t_Sf=m
endif
" Don't wake up system with blinking cursor:
" http://www.linuxpowertop.org/known.php
let &guicursor = &guicursor . ",a:blinkon0"

个人的配置 ,在家目录下编辑 ~/.vimrc【没有则创建】,输入以下内容,则每次都会启动Vim都会应用此配置

"""""""""""""""""""""""""""""""""""""
" 显示相关
"""""""""""""""""""""""""""""""""""""
" 显示行号
set number
" 语法高亮
syntax on
" 标尺
set ruler
" 命令
set showcmd
" 命令行高度
set cmdheight=1
" 缓冲行
set scrolloff=3 
" 状态栏格式
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set laststatus=2
" 折叠
set foldenable
" 文件编码
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
"""""""""""""""""""""""""""""""""""""
" 编辑新文件添加相应的说明
"""""""""""""""""""""""""""""""""""""
autocmd BufNewFile *.sh,*.java exec ":call SetTitle()"
func SetTitle()
if &filetype == 'sh'
call setline(1,"#!/bin/bash")
call append(line("."),"\###########################")
call append(line(".")+1, "\# File Name: ".expand("%"))
call append(line(".")+2, "\# Author: YangShengPing")
call append(line(".")+3, "\# mail: yangshengping@163.com")
call append(line(".")+4, "\# Created Time: ".strftime("%c"))
call append(line(".")+5, "\########################")
call append(line(".")+6, "")
else
call setline(1, "/******************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: YangShengPing")
call append(line(".")+2, " > Mail: yangshengping@163.com ")
call append(line(".")+3, " > Created Time: ".strftime("%c"))
call append(line(".")+4, " ***********************************/")
call append(line(".")+5, "")
endif
" 自动定位到文件尾,没效果,应该是需要在GUI界面才成吧!没试过!
autocmd BufNewFile * normal G
endfunc
""""""""""""""""""""""""""""""""""""""""""""
" 键盘相关
""""""""""""""""""""""""""""""""""""""""""""
set autoindent " 自动缩进
set tabstop=4 " tab 宽度
set softtabstop=4 
set shiftabstop=4

附打开文件时一些快捷参数

  1. vim filepath +number : 在调试代码的时候,一般会报错行数,找到相应的文件路径后,直接执行命令: vim filename +5 ,就能直接定位到指定的行,上面的命令即: 打开 filename 文件,并定位到第5行;如果不给number参数,则会定位到行尾,默认是上次打开的定位到上次打开的位置

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表