manjaro下的.vimrc
为了能够复制粘贴到外面,需要下载gvim,可以自行下载。
我的插件管理是用vim-plug来管理的
下载命令
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
然后在vimrc中添加如下代码段
call plug#begin()
"""""中间放插件"""" call plug#end()
在中间放置需要的插件就可以了.
vim-plug管理插件时,只需要加入上面在代码段中加入需要的插件命(如下),然后打开终端输入vim,在按:输入,PlugInstall,就可以完成插件安装。
我自己在使用的一些插件。
neadtree 管理目录用,我把快捷键设置成F3,可以让它开启或关闭
Plug 'scrooloose/nerdtree'
nerdcommenter 代码多行注释用的,还是挺不错的,按住 \+c+space 就可以注释与反注释了
Plug 'ddollar/nerdcommenter'
airline、airline themes 美化 vim 底部状态栏
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
airline使用前需要安装powerline字体
安装方法如下
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
airline的主题目录如下,可以选择自己想要的主题
~/.vim/plugged/vim-airline-themes/autoload/airline/themes
以下是我的觉得比较好看的主题。
aurora.vim base16_eighties.vim dracula.vim onedark.vim silver.vim
badcat.vim base16_isotope.vim hybridline.vim papercolor.vim term.vim
badwolf.vim base16_pop.vim minimalist.vim peaksea.vim understated.vim
base16_colors.vim bubblegum.vim molokai.vim ravenpower.vim vice.vim
base16color.vim deus.vim night_owl.vim raven.vim wombat.vim
其他的主题就被我删了。
现在我再用的vice和tomorrow主题,我认为还是蛮好看的。
只要在.vimrc中添加
let g:airline_theme="vice"
就可以了。
最后是完整的.vimrc
" ===
" 设置快捷键
" ===
" inoremap ' ''<ESC>i
" inoremap " ""<ESC>i
" inoremap ( ()<ESC>i
" inoremap [ []<ESC>i
" inoremap { {<CR>}<ESC>O map Z ZZ
map - $
map ^
map S :w<CR>
map ; :
map tt :tabnew
map tj :tabNext<CR>
map tk :tabnext<CR>
map gt <nop>
map gT <nop> function! HideNumber() " <F2>开启/关闭行号显示
if(&relativenumber == &number)
set relativenumber! number!
elseif(&number)
set number!
else
set relativenumber!
endif
set number?
endfunc
nnoremap <F2> :call HideNumber()<CR> let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
"F9编译
map <F9> :call CR()<CR>
func! CR()
exec "w"
if &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'python'
exec "!python %"
endif
endfunc " ===
" 设置编码
" ===
set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-
set encoding=utf-
set fileencodings=ucs-bom,utf-,cp936
set fileencoding=utf- " ===
" === 基本设置
" === hi Normal cterm=NONE ctermfg=White gui=bold guifg=#ffffff
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
set nocompatible " 不要使用vi的键盘模式,而是vim自己的
set clipboard =unnamed,unnamedplus " 共享剪贴板
syntax on " 语法高亮
set cursorline
set whichwrap=<,>,[,],h,l " 允许backspace和光标键跨越行边界
set nu " 显示行号
set selection=exclusive
set selectmode=mouse,key
set listchars=tab:>-,trail:-
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set laststatus= " 总是显示状态栏
set showmatch " 高亮显示匹配的括号
"匹配括号高亮的时间(单位是十分之一秒)
hi MatchParen ctermbg=blue guibg=lightblue
set matchtime=
set ruler " 显示光标当前位置
"我的状态行显示的内容(包括文件类型和解码)
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
set cmdheight=
set autoindent " 自动缩进
set cindent " 以C语言的方式缩进
set shiftwidth= " 设置自动缩进的空格数量
set softtabstop= " tab键的实际占有空格数,统一缩进
set tabstop= " 设置tab键的空格数
set smarttab " 在行和段开始处使用制表符
set mouse=a " 使用鼠标
set completeopt=preview,menu " 代码补全
set nobackup " 从不备份
filetype plugin indent on " 允许插件
filetype on " 侦测文件类型
filetype plugin on " 载入文件类型插件
set viminfo+=! " 保存全局变量
set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割
set linespace= " 字符间插入的像素行数目
set wildmenu " 增强模式中的命令行自动完成操作
set backspace= " 使回格键(backspace)正常处理indent, eol, start等
set report= " 通过使用: commands命令,告诉我们文件的哪一行被改变过
set fillchars=vert:\ ,stl:\ ,stlnc:\ " 在被分割的窗口间显示空白,便于阅读
set scrolloff= " 光标移动到buffer的顶部和底部时保持3行距离
set nobackup " 禁止生成临时文件
set noswapfile " 禁止生成交换文件
set autoread " 设置当文件被改动时自动载入
set autowrite " 自动保存
set history= " 历史记录数
set confirm " 在处理未保存或只读文件的时候,弹出确认
set ignorecase " 搜索忽略大小写
set hlsearch " 搜索逐字符高亮
set incsearch
set gdefault " 行内替换
set relativenumber number " 相对行号: 行号变成相对 " ===
" === 插入模式下用绝对行号, 普通模式下用相对
" ===
au FocusLost * :set norelativenumber number
au FocusGained * :set relativenumber
autocmd InsertEnter * :set norelativenumber number
autocmd InsertLeave * :set relativenumber "复制选中区到系统剪切板中
vnoremap <leader>y "+y
if has("autocmd") " 打开自动定位到最后编辑的位置, 需要确认 .viminfo 当前用户可写
au BufReadPost * if line("'\"") > && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif " ===
" === vimplug
" ===
call plug#begin() " 中间放插件
Plug 'scrooloose/nerdtree'
Plug 'ddollar/nerdcommenter'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'jiangmiao/auto-pairs'
call plug#end() " ===
" === NERDTree
" ===
let NERDChristmasTree= " 显示增强
let NERDTreeAutoCenter= " 自动调整焦点
let NERDTreeMouseMode= " 鼠标模式:目录单击,文件双击
let NERDTreeShowFiles= " 显示文件
" let NERDTreeShowHidden=1 " 显示隐藏文件
let NERDTreeHightCursorline= " 高亮显示当前文件或目录
let NERDTreeShowLineNumbers= " 显示行号
let NERDTreeWinPos='left' " 窗口位置
let NERDTreeWinSize= " 窗口宽度
let g:NERDTreeCaseSensitiveSort =
let g:nerdtree_tabs_open_on_console_startup=
let NERDTreeIgnore=['\.pyc','\~$','\.swp']
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ 'Ignored' : '☒',
\ "Unknown" : "?"
\ }
" 快捷键
nnoremap <silent> <F3> :NERDTreeToggle<CR>
set t_Co=
set laststatus=
set lazyredraw " ===
" === airline
" ===
" let g:airline#extensions#tabline#enabled = 1
" let g:airline#extensions#tabline#buffer_nr_show = 1
let g:airline_theme="vice"
let g:airline_powerline_fonts = " ===
" === 新文件标题
" ===
" 新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
" 定义函数SetTitle,自动插入文件头
func SetTitle()
let l =
if &filetype == 'sh'
let l = l+ | call setline(l, "\###############################################################")
let l = l+ | call setline(l, "\# File Name : ".expand("%"))
let l = l+ | call setline(l, "\# Author : Jiaaaaaaaqi")
let l = l+ | call setline(l, "\# Created Time : ".strftime("%c"))
let l = l+ | call setline(l, "\###############################################################")
let l = l+ | call setline(l, "\#!/bin/bash")
let l = l+ | call setline(l, "")
else
let l = l+ | call setline(l, "/*************************************************************** ")
let l = l+ | call setline(l, " > File Name : ".expand("%"))
let l = l+ | call setline(l, " > Author : Jiaaaaaaaqi")
let l = l+ | call setline(l, " > Created Time : ".strftime("%c"))
let l = l+ | call setline(l, " ***************************************************************/")
let l = l+ | call setline(l, "")
endif
if &filetype == 'cpp'
let l = l+ | call setline(l, "#include <bits/stdc++.h>")
let l = l+ | call setline(l, "#define fi first")
let l = l+ | call setline(l, "#define se second")
let l = l+ | call setline(l, "#define pb push_back")
let l = l+ | call setline(l, "#define pii pair<int, int>")
let l = l+ | call setline(l, '#define dbg(x) cout << #x << " = " << (x) << endl')
let l = l+ | call setline(l, "#define mes(a, b) memset(a, b, sizeof a)")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "using namespace std;")
let l = l+ | call setline(l, "typedef long long int ll;")
let l = l+ | call setline(l, "typedef unsigned long long int ull;")
let l = l+ | call setline(l, "const int maxn = 1e5 + 10;")
let l = l+ | call setline(l, "const ll mod = 1e9 + 7;")
let l = l+ | call setline(l, "const ll INF = 1e18 + 100;")
let l = l+ | call setline(l, "const int inf = 0x3f3f3f3f;")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "int n, m;")
let l = l+ | call setline(l, "int T, cas, tol = 0;")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "int main() {")
let l = l+ | call setline(l, ' // freopen("in", "r", stdin);')
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, " return 0;")
let l = l+ | call setline(l, "}")
let l = l+ | call setline(l, "")
endif
endfunc
" 新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
manjaro下的.vimrc的更多相关文章
- linux环境下source vimrc提示错误unexpected token `"autocmd"'
编辑完vimrc之后,使用source /etc/vimrc之后报错: $ source /etc/vimrc bash: /etc/vimrc: line 15: syntax error near ...
- windows下的vimrc
很奇怪的事...不会解释 建议编译位置第一次设置为 map <F9> :call CR()<CR>func! CR()exec "w"exec " ...
- 汉化manjaro下的火狐浏览器
1.下载 汉化包 sudo pacman -S firefox-i18n-zh-cn 2.查看add-ons下的language选项有没有已安装的包 3.在浏览器的地址栏输入 搜索intl.local ...
- 解决在manjaro下,vscode无法将chrome作为默认浏览器打开
Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...
- arch linux (manjaro) 下运行tim和qq
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/tim_install_wine 基于AUR的安装是没什么难度了, ...
- Manjaro下Steam无法启动
问题描述 直接在桌面环境运行Steam,不会出现任何反应,甚至没有闪过一个对话框. 在终端中运行Sterm,出现以下提示 Repairing installation, linking /home/z ...
- Manjaro下带供电的USB Hub提示error -71
问题描述 这款USB Hub是绿联出的1转7带供电的白色款. 在lsusb中显示为 Bus 004 Device 023: ID 05e3:0616 Genesys Logic, Inc. hub B ...
- Manjaro下安装VirtualBox
安装前需要知道 你需要知道你当前的内核版本 uname -r,比如输出了4.14.20-2-MANJARO那么你的内核版本为414 安装VirtualBox sudo pacman -S virtua ...
- manjaro 下golang protobuf的使用
1.下载protobuf compiler sudo pacman -S protobuf 2.添加环境变量GOBIN export GOBIN=~/go/bin 3.下载golang依赖的包 go ...
随机推荐
- 备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)
备忘录模式 Memento 沿着脚印,走过你来时的路,回到原点. 苦海翻起爱恨 在世间难逃避命运 相亲竟不可接近 或我应该相信是缘份 一首<一生所爱>触动了多少 ...
- SAP HUM 拆包之后的HU号码依旧存在
比如HU 194811210666,已经被执行了Unpack操作. HUMO看这个HU号码, 执行, 可以发现,这个HU是空的,里面什么都没有. 双击HU号码,进入HU显示界面, 系统状态竟然是PHE ...
- Python 使用python-kafka类库开发kafka生产者&消费者&客户端
使用python-kafka类库开发kafka生产者&消费者&客户端 By: 授客 QQ:1033553122 1.测试环境 python 3.4 zookeeper- ...
- 如何创建ChromeApp
一个ChromeAPP 包含以下内容: 1. 清单文件 manifest.json,列出应用的一些基本信息例如:如何启动应用,应用的权限等等. 2. 事件处理页面也就是我们常说的后台脚本(backgr ...
- (办公)springboot配置全局异常
项目用到了springboot,本来很高兴,但是项目里什么东西都没有,验证,全局异常这些都需要自己区配置.最近springboot用的还是蛮多的,我还是做事情,把经验发表一下.全局统一的异常,首先异常 ...
- MyDAL - .QueryOneAsync() 使用
索引: 目录索引 一.API 列表 .QueryOneAsync() .QueryOneAsync<M>() 如: .QueryOneAsync<Agent>() , 用于 单 ...
- 数据库原理 - 序列4 - 事务是如何实现的? - Redo Log解析(续)
> 本文节选自<软件架构设计:大型网站技术架构与业务架构融合之道>第6.4章节. 作者微信公众号:> 架构之道与术.进入后,可以加入书友群,与作者和其他读者进行深入讨论.也可以 ...
- sqlsever存储过程配合代理作业自动定时建表
1.自动建表存储过程 USE [ThreeToOne] GO /****** Object: StoredProcedure [dbo].[WTO_CreateTable_ScanDoXXX] ...
- [SQL Server] 时间处理:获取今天的00:00:00/获取今天的23:59:59
获取今天的00:00:00 SELECT CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),120)) 获取今天的23:59:59 1.SELECT DAT ...
- 996.ICU 写给... 写给年轻的自己
好久不"水"长文了,随着Github开源项目996.ICU (工作996,生病ICU) (本意是为了指出互联网等早9晚9每周工作6天的不良加班工作制风气不符合法律,是对程序员等技术 ...