vim脚本
‘壹’ vim 如何运行程序
在 vim 里执行外部程序是用 ! 加命令名,最简单的比如:
:!ls
或者用 ctrl-z 把 vim 推到后台再执行 shell 命令。
如果想用 vim 执行 vim 的脚本,可以用:
:sourcea_vim_script
‘贰’ 怎样学习 Vim 脚本编程
题意不清:分割为来理解
1、学习vim的使用方法,vim作为编辑器之神,最为出色的莫过于各种便利的快捷键,而学习vim等价于学习这些快捷键,以下是我实际使用中经常使用的。
模式:i/s进入insert模式,此模式下可以像notepad一样使用
esc进入命令模式
v/V进入visual模式
复制粘贴:
命令模式下yy复制一行,yny复制n行
:n,m y复制第n到m行
命令模式下p粘贴
剪切:
命令模式下c剪切一行
移动
:n,m mo r 剪切第n到m行到r行
附上vim的配置文件:
setlocal noswapfile
set bufhidden=hide
set nocompatible
syntax on
"colorscheme evening
set number
set cursorline
set ruler
set shiftwidth=4
set softtabstop=4
set tabstop=4
set nobackup
set autochdir
filetype plugin indent on
set backup=yes
set ignorecase smartcase
set incsearch
set hlsearch
set noerrorbells
set novisualbell
set t_vb=
set showmatch
set matchtime=2
set magic
set hidden
set smartindent
set backspace=indent,eol,start
set cmdheight=1
set laststatus=2
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%)
set foldenable
set foldmethod=syntax
set foldcolumn=0
setlocal foldlevel=1
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
脚本编程:选择一种脚本,搜索教程。
‘叁’ 怎样学习 Vim 脚本编程
1、学习vim的使用方法,vim作为编辑器之神,最为出色的莫过于各种便利的快捷键,而学习vim等价于学习这些快捷键,以下是我实际使用中经常使用的。
模式:i/s进入insert模式,此模式下可以像notepad一样使用
esc进入命令模式
v/V进入visual模式
复制粘贴:
命令模式下yy复制一行,yny复制n行
:n,m y复制第n到m行
命令模式下p粘贴
剪切:
命令模式下c剪切一行
移动
:n,m mo r 剪切第n到m行到r行
附上vim的配置文件:
setlocal noswapfile
set bufhidden=hide
set nocompatible
syntax on
"colorscheme evening
set number
set cursorline
set ruler
set shiftwidth=4
set softtabstop=4
set tabstop=4
set nobackup
set autochdir
filetype plugin indent on
set backup=yes
set ignorecase smartcase
set incsearch
set hlsearch
set noerrorbells
set novisualbell
set t_vb=
set showmatch
set matchtime=2
set magic
set hidden
set smartindent
set backspace=indent,eol,start
set cmdheight=1
set laststatus=2
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%)
set foldenable
set foldmethod=syntax
set foldcolumn=0
setlocal foldlevel=1
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
脚本编程:选择一种脚本,搜索教程。
‘肆’ 在vim中用什么命令运行vim脚本!~
source可以执行.vim格式的文件
如:source $VIMRUNTIME/vimrc_example.vim
其中¥VIMRUNTIME为vim文件安装目录!
‘伍’ 在linux的vim里面编写了脚本如何执行
"首先脚本需要有执行权限:chmod u x file.sh;执行脚本有三种方法:1. ./file.sh:特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等2. bash file.sh特点:和./file.sh相同 3. source file.sh 或者 . file....
‘陆’ vim脚本中,光标位置怎么设置
用 cursor() 或者 setpos() 这两个函数可以控制光标的位置。具体用法和示例可以查手册。
‘柒’ windows下gvim能否执行vim自己的脚本
可以的。
比如有 file.vim
%s/ABC/abc/g
wq
然后在 cmd 里执行:
vim-esSfile.vimmyfile.txt就行了。
-S 后面跟的是那个脚本的名字。后面的 myfile.txt 就是想操作的文件。
如果想批量操作多个文件,可以考虑在脚本里使用 argdo 命令。
‘捌’ 关于 vim 脚本的问题!
是没用还是报错??
感觉貌似不需要加那个冒号, 直接写那句就行.
总之我的在_vimrc里面添加上那句就ok.
‘玖’ 如何写Vim脚本
vim 1.sh #!/bin/bash#filename:1.shecho "Hello World!"给脚本增加执行权限: chmod +x 1.sh 或者直接bash 1.sh
‘拾’ 如何让vim写shell脚本自动缩进
vim 自带了写 bash 脚本的语法着色,缩进之类的功能。
要想启用它们,在 .vimrc 里加上:
setnocompatible
filetypepluginindenton
如果你还没有自己的 vimrc,下面这个是 vim 推荐的例子:
"Anexampleforavimrcfile.
"
"Maintainer:BramMoolenaar<[email protected]>
"Lastchange:2008Dec17
"
"Touseit,itto
"forUnixandOS/2:~/.vimrc
"forAmiga:s:.vimrc
"forMS-DOSandWin32:$VIM\_vimrc
"forOpenVMS:sys$login:.vimrc
"Whenstartedas"evim",evim..
ifv:progname=~?"evim"
finish
endif
"UseVimsettings,ratherthanVisettings(muchbetter!).
"Thismustbefirst,.
setnocompatible
"
setbackspace=indent,eol,start
ifhas("vms")
setnobackup"donotkeepabackupfile,useversionsinstead
else
setbackup"keepabackupfile
endif
sethistory=50"
setruler"
setshowcmd"displayincompletecommands
setincsearch"doincrementalsearching
"ForWin32GUI:remove't'flagfrom'guioptions':notearoffmenuentries
"let&guioptions=substitute(&guioptions,"t","","g")
"Don'tuseExmode,useQforformatting
mapQgq
"CTRL-Uininsertmodedeletesalot.UseCTRL-Gutofirstbreakundo,
"sothatyoucanundoCTRL-Uafterinsertingalinebreak.
inoremap<C-U><C-G>u<C-U>
",thusenableit.
ifhas('mouse')
setmouse=a
endif
"Switchsyntaxhighlightingon,whentheterminalhascolors
".
if&t_Co>2||has("gui_running")
syntaxon
sethlsearch
endif
".
ifhas("autocmd")
"Enablefiletypedetection.
"Usethedefaultfiletypesettings,sothatmailgets'tw'setto72,
"'cindent'isoninCfiles,etc.
"Alsoloadindentfiles,toautomaticallydolanguage-dependentindenting.
filetypepluginindenton
"Puttheseinanautocmdgroup,sothatwecandeletethemeasily.
augroupvimrcEx
au!
"Foralltextfilesset'textwidth'to78characters.
=78
"Wheneditingafile,.
"Don'
"().
"Alsodon',thatisthedefault
"positionwhenopeningafile.
autocmdBufReadPost*
ifline("'"")>1&&line("'"")<=line("$")|
exe"normal!g`""|
endif
augroupEND
else
setautoindent"alwayssetautoindentingon
endif"has("autocmd")
"
"fileitwasloadedfrom,thusthechangesyoumade.
".
if!exists(":DiffOrig")
commandDiffOrigvertnew|setbt=nofile|r#|0d_|diffthis
|wincmdp|diffthis
endif