老铁告诉我一个开源的vim项目!
首先请看一条shell命令:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/liuchengxu/space-vim/master/install.sh)"
执行之后,不需要任何操作:
vim自动执行安装插件
需要经过一段时间,安装完成之后:
安装完成
里面有各种高大上操作等你挖掘:
效果图
有兴趣的可以去github看看:
https://github.com/liuchengxu/space-vim
另外:
1.关于简单的实现python的语法高亮问题:
$ cd /usr/share/vim/vim80/syntax/
$ sudo vim python.vim
将 " let python_highlight_all = 1 前的 " 去掉,将会支持内置函数,数字,空格,异常的语法高亮。
2.一键运行python程序.vimrc的配置:
map <F2> <ESC>:w<cr>:!python2 %<cr> # 一键运行python2
map <F3> <ESC>:w<cr>:!python3 %<cr> # 一键运行python3
3.vim打开多窗口小知识:
:sp //或者split :水平切分窗口
:vsplit //垂直切分窗口
:open filename //打开一个文件
ctrl+w //窗口间的切换
4.新建文件时,自动加载模板:
# 以 Python 为例
# 首先新建一个文件夹用于放置模板文件
~/.vim
▶ mkdir Template
▶ cd Template
▶ pwd
/home/fqf/.vim/Template
▶ vim python.tlp
5.vim文件建立时的自动导入模板:
▶ cat ~/.vimrc
" auto template
"autocmd BufNewFile *.py 0r ~/.vim/Template/python.tl
function AddshTitle()
call setline(1,"#!/bin/bash")
call setline(2,"#File : " . expand("%"))
call setline(3,"#Project:")
call setline(4,"#Author : name")
call setline(5,"#Email : emailaddr")
call setline(6,"#Date : " . strftime("%Y-%m-%d"))
call setline(7,"")
call setline(8,"#----------------------------------------------------------------------------")
endf
function AddCTitle()
call setline(1," /*")
call setline(2," * File : " . expand("%"))
call setline(3," * Project :")
call setline(4," * Author : name")
call setline(5," * Email : emailaddr")
call setline(6," * Date : " . strftime("%Y-%m-%d"))
call setline(7," */")
call setline(8,"#----------------------------------------------------------------------------")
call setline(9,"")
endf
function AddpyTitle()
call setline(1,"#!/usr/bin/env python")
call setline(2,"#-*- coding:utf-8 -*-")
call setline(3,"#File : " . expand("%"))
call setline(4,"#Project:")
call setline(5,"#Author : name")
call setline(6,"#Email : emailaddr")
call setline(7,"#Date : " . strftime("%Y-%m-%d-%H:%M"))
call setline(8,"")
call setline(9,"#----------------------------------------------------------------------------")
endf
autocmd BufNewFile *.sh exec ":call AddshTitle()"
autocmd BufNewFile *.c,*.cc,*.cpp exec ":call AddCTitle()"
autocmd BufNewFile *.py exec ":call AddpyTitle()"