shell补-特殊玩法-vimrc-脚本开头自动加上信息
shell补-特殊玩法-vimrc
创建脚本的时候希望在脚本开头自动加上版权信息:
- vim编辑器的模板 默认格式
- ~/.vimrc 当前用户
- /etc/vimrc 全局
vimrc的说明
set nocompatible #####关闭兼容模式
set history =100 ####vim的设置历史命令,用上下键在命令行操作。
filetype on ###自动识别文件类型
filetype plugin on ###自动识别文件类型
filetype indent on ###自动识别文件类型
set autoread #自动读取文件内容
set mouse=c #启动对鼠标的一些支持
syntax enable ###语句校验,对一些shell;sql语句等特殊标记
set cursorline ###给光标所在行加上一个下划线;注意不介意使用比较有效变量也带下划线的
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00
set foldenable ####启动文件折叠
set foldemethod=manual ###手动折叠模式;zf打开折叠,zo打开,zc取消
set coldcolumn=0
setlocal foldlevel=3
set foldclose=all
nnoremap <space> @=((foldclosed(line('.'))<0)?'zc':'zo') <CR>
set expandtab #tab键转换为空格
set tabstop=4 #1个tab键对应4个位子;默认情况下是8个
set shiftwidth=4
set softtabstop=4
set smarttab
ai
si
wrap
sw=4
wildmenu
ruler
cmdheight=1
lz
backspace eol,start,indent
whichmrap+=<,>,h,l
set magic
set noerrorbells
set novisualbell
showmatch
set mat=4
hlsearch #搜索的时候加上语法高亮
ignorecase #搜索的时候忽略大小写
encoding=utf-8 ##字符集 的东西
filleencodings=utf-8 ##字符集 的东西
termencoding=utf-8 ##字符集 的东西
smartindent
cin
showmatch
guioptions-=T
guioptions-=m
set vb t_vb=
set laststatus=4
set pastetoggle=<(F9)
setbackground=dark
highlight Serch ctermbg=black ctermfg=white guifg=white guibg=black
###这部分开始是针对特定类型的文件,加上版权信息
#新建文件
autocmd BuFNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand ("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"##############################################")
call setline(3,"# File Name:" .expand("%"))
call setline(4,"# Version:v1.0")
call setline(5,"# Author:mrxu")
call setline(6,"# Organization:https://www.cnblogs.com/xjianbing/")
call setline(7,"##############################################")
end if
endfunc
注意,以上的是完整版本,尽量别用,会在定时任务的时候报错,crontab -e 也是vim使用的,或者一些其他的vi辅助报错。
visudo又是啥玩意儿
简化版本
set expandtab #tab键转换为空格
set tabstop=4 #1个tab键对应4个位子;默认情况下是8
set hlsearch #搜索的时候加上语法高亮
set ignorecase #搜索的时候忽略大小写
set noerrorbells ##不要出现录入的那种声音
set novisualbell #不要出现录入的那种声音
set nocompatible ##关掉兼容模式,不用兼容vi
filetype on ####自动根据文件类型,打开相应文件
filetype plugin on ####自动根据文件类型,打开相应文件
filetype indent on ####自动根据文件类型,打开相应文件
###这部分开始是针对特定类型的文件,加上版权信息
#新建文件
autocmd BuFNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand ("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"##############################################")
call setline(3,"# File Name:" .expand("%"))
call setline(4,"# Version:v1.0")
call setline(5,"# Author:mrxu")
call setline(6,"# Organization:https://www.cnblogs.com/xjianbing/")
call setline(7,"##############################################")
end if
endfunc ###注意不要写岔开了这种end func的
注意:以上文中的#号注释不要录入配置文件中,会报错
粘贴进vim
此时如果在vim外复制了文本,要粘贴到打开的vim文件内,只需在normal模式下(如果不知道当前在哪个模式就先按一次ESC键)执行"*p,注意是三个键连续输入,由于要输入双引号和星号,因此需要先按下Shift键,再分别按下" *(过程中Shift不要放下),最后按下p(小写,此时不要按Shift),如果没问题应该可以将系统剪贴板数据粘贴到vim中;
类似的,要将vim中的数据复制到vim外,需要回到normal模式先按v进入visual模式,移动光标选中目标文本后,在visua模式下执行" + y即可将vim数据复制到系统剪贴板,在vim外执行Ctrl V即可完成数据粘贴。
vim支持自定义快捷键,使用vim打开~/.vimrc文件这是当前用户的vim配置文件,vim会读取配置文件中...
shell补-循环案例-当型循环和直到型循环
分类:
shell实战2查漏补缺
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!