Giter Club home page Giter Club logo

powervim's Introduction

👉 推荐 Gitee同步

版权申明: 本项目为我(程序员Carl)的原创。引用本项目文章请注明出处,例如:转自 https://github.com/youngyangyang04/PowerVim 发现恶意抄袭或搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!

PowerVim

这套vim配置我已经打磨了将近四年,不断调整优化,已经可以完全满足工业级开发的需求了。所以我给它起名为PowerVim,一个真正强大的vim。

  _____                    __      ___           
  |  __ \                   \ \    / (_)          
  | |__) |____      _____ _ _\ \  / / _ _ __ ___  
  |  ___/ _ \ \ /\ / / _ \ '__\ \/ / | | '_ ` _ \ 
  | |  | (_) \ V  V /  __/ |   \  /  | | | | | | | 
  |_|   \___/ \_/\_/ \___|_|    \/   |_|_| |_| |_|

预览

来感受一下PowerVim的使用体验,看起来很酷吧!注意这些操作都不用鼠标的,一波键盘控制流!所以我平时写代码是不碰鼠标的!

conv_ops

安装

PowerVim的安装非常简单,我已经写好了安装脚本,只要执行以下就可以安装,而且不会影响你之前的vim配置,之前的配置都给做了备份,大家看一下脚本就知道备份在哪里了。

安装过程非常简单。如下三行命令:

git clone https://github.com/youngyangyang04/PowerVim.git
cd PowerVim
bash install.sh

在按照的过程中 ubuntu 操作系统 会出现 这样的问题Syntax error: "(" unexpected,是系统语言问题,看本项目上方issue,已经给出解决办法

如果报错 Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded. 则是没有安装Taglist插件

卸载

sh uninstall.sh

特性

  • CPP、PHP、JAVA代码补全,如果需要其他语言补全,可自行配置关键字列表在PowerVim/.vim/dictionary目录下
  • 显示文件函数变量列表
  • MiniBuf显示打开过的文件
  • 语法高亮支持C++ (including C++11), go,java, php, html, json and markdown
  • 显示git状态,和主干或分支的添加修改删除的情况
  • 显示项目文件目录,方便快速打开
  • 快速注释,使用gcc注释当前行,gc注释选中的块
  • 项目内搜索关键字和文件夹
  • 漂亮的颜色搭配和状态栏显示

使用方法

PowerVim的快捷键以;为开始 这里列出的快捷键是PowerVim配置的,vim通用的快捷键就不一一列出。

正常模式下的快捷键(非插入模式)
;n              // 打开文件目录树显示在屏幕左侧
;m              // 打开当前函数和变量目录树显示在屏幕右侧
;h              // 光标移动到左窗口 
;l              // 光标移动到右窗口
;k              // 光标移动到上窗口
;j              // 光标移动到下窗口 以上四个快捷键特别是打开多个窗口情况下。使用这个快捷键组合非常实用
;w              // 保存文件
;u              // 向上翻半屏
;d              // 向下翻半屏
;1              // 光标快速移动到行首
;2              // 光标快速移动到行末
;a              // 快速切换.h和cpp文件,写C++的时候很方便
;e              // 打开一个新文件
;z              // 切回shell交互命令,输入fg在切回vim,非常实用
;s              // 水平分屏,并打开文件目录选取想打开的文件,如果想新建文件,;e 就好 
;v              // 竖直分屏,并打开文件目录选取想打开的文件,如果想新建文件,;e 就好 
;fw             // 查找项目内关键字,前提是你的系统已经按照了ACK 
;ff             // 查找项目内文件名 
;gt             // 跳转到变量或者函数定义的地方,前提是安装ctags,并且在在PowerVim输入 ;tg命令 Jump to the definition of the keyword where the cursor is located, but make sure you have make ctags
;gr             // 跳回,对应着;gt
;tg             // 对当前目录打ctag 
;y              // 保存当前选中的目录到系统剪切板,前提是vim支持系统剪切板的寄存器
;gg             // 按顺序光标跳转各个窗口
;t              // 在输入一个字符,则按照这个字符整体对齐

// 一下快捷键是不用;的,直接在 非插入模式 下输入
tb              // 插入表格
e               // 快速删除光标所在的词 
tabc            // 关闭当前tab,可以用:tabnew来打开一个新的tab Close tab, of course you should :tabnew a file first. 
F1              // 编译并运行C++文件,自己写的C++例子的时候一键编译。前提手动在当前目录建一个bin文件夹,这是用来存放编译产生的执行文件 
F1              // 编译Java文件
F2              // 运行Java编译的class文件,一般如果要编译并运行Java文件 按F1编译,在按F2运行
gc              // 快速注释选中的块(是visual模式下选中的块) 
gcc             // 快速当前行
{               // 光标向上移动一个代码块
}               // 光标向下移动一个代码块
di(             // 删除括号里的内容
di{             // 删除花括号里的内容

插件

配置

每个人都可以在这个基础上进行修改,改成一个属于自己的PowerVim

  • 改变快捷键的方式在.vimrc
  • 可以添加支持代码补全的语言,你可以在.vim/dictionary文件下添加该编程语言的补全关键字文本,并且在.vimrc上添加一下dict

疑问解答

PowerVim没有安装youcompleteme来完善代码补全,主要有以下方面

  • PowerVim已经有很好的代码补全,足够开发使用
  • 安装youcompleteme比较麻烦,而且不通用,就是我安装成功,你按照一样的步骤安装并不一定成功
  • 安装youcompleteme后,vim会变得比较慢
  • PowerVim 后面也会尝试加上youcompleteme,可以让这个插件可以简单的被安装

关于作者

大家好,我是程序员Carl,哈工大师兄,《代码随想录》作者,先后在腾讯和百度从事分布式技术研发工作。

powervim's People

Contributors

chen-junchao avatar dependabot[bot] avatar lixvyang avatar youngyangyang04 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powervim's Issues

ubuntu have some issue as follow:

Error detected while processing /home/alex/.vimrc:
line 42:
E197: Cannot set language to "zh_CN.gb2312"
macdown.vim only works on a Mac
Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
Mr Carl, could you please make the config file more general? thanks

报错如下, 能帮忙解决吗

root@ubuntu:~/code# vim test.sh
Error detected while processing /root/PowerVim/.vim/colors/Monokai_Gavin.vim:
line 232:
E254: Cannot allocate color none
Press ENTER or type command to continue

进入修改/root/PowerVim/.vim/colors/Monokai_Gavin.vim文件232行,默认是none. 改成其他如red等没效果,还是包相同的错误

Ubuntu 18.04 阿里云服务器遇到问题

微信图片_20211014102901
问题1、问题2:[https://gist.github.com/BoWang816/c2e9ce52ce03c59450bcf587b7d0f456] 解决Error detected while processing /root/.vimrc 解决Cannot set language to "zh_CN.gb2312"
而针对Error detected Cannot allocate color none 是因为部分配色Ubuntu服务器不兼容的问题
对应删除line232配色方案即可

问题3:应该是taglist.vim插件的问题:在~/.vimrc 文件中加入如下三行就可以了
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联(引用其他解决方法)
最后结果:代码跳转使用功能不行,其它正常运作

自动补全 找不到命名空间std下的函数

操作过程:
1.标准库源码生成标签文件
cd /usr/include/c++/4.8
sudo ctags -R --c++-kinds=+l+x+p --fields=+iaSl --extra=+q --language-force=c++ -f stdcpp.tags
2..vimrc 引用标签文件
set tags+=/usr/include/c++/4.8/stdcpp.tags
3. .vimrc 设置命名空间
let OmniCpp_DefaultNamespaces = ["std","_GLIBCXX_STD"]
然而这样设置过后,vim自动补全还是找不到命名空间std包含的函数,只能补全一部分
1658909636053
请求大佬帮助

Mac m1芯片

Menghs-MacBook-Pro:~ _menghs$ vim /Users/Menghs/.vimrc
Error detected while processing /Users/Menghs/.vimrc:
line 7:
E117: Unknown function: pathogen#infect
line 316:
E185: Cannot find color scheme 'Monokai_Gavin'
Press ENTER or type command to continue

使用过程中出现问题

2021-10-13 19-58-46屏幕截图
不好意思,麻烦问一下,我将语言修改为zn_CN也会报错,还有就是这个插件的问题,其次就是 识别不到 ;fw 这个指令,这个指令不是说是搜索嘛,那我应该后面跟关键字嘛?这跟vim本身的全局搜索有什么区别。

目录无法显示新建的文件

使用;e新建文件并保存后,目录不能显示新建的文件,只能退出vim后重新进入才能在目录中查看新建文件

mac 打开.java文件报错

(1)如图所示,vim打开.java报错,但是再按一下ENTER是可以打开java文件的。

image image (2)另外,看了报错这块儿的源码,是判断有没有安装python,但我本地是有python环境的,搞不懂为什么会报错 image image

(3)打开其他.py .scala .md等文件不报错

Ubuntu18.04环境会报如下错误

Ubuntu18.04直接执行 sh install.sh会报install.sh: 8: install.sh: Syntax error: "(" unexpected,后来发现Ubuntu下sh默认指向dash(ls -l /bin/sh),需将sh指向bash可正常运行脚本(sudo dpkg-reconfigure dash),原因是:function在bash中为关键字,dash中没有function这个关键字。
另外,执行完脚本后使用vim会报如下错误:
处理 /home/wsy/.vimrc 时发生错误:
第 42 行:
E197: 不能设定语言为 "zh_CN.gb2312"
Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
请按 ENTER 或其它命令继续
请问carl哥怎么解决

ubuntu20.04安装VIM出错

中文乱码

https://gist.github.com/BoWang816/c2e9ce52ce03c59450bcf587b7d0f456


ubuntu中文支持,及中文乱码问题

该篇博文,是本人踩了一下午的坑的成果,亲测有效。对服务器同样有效。

状况:所用的ubuntu系统不支持中文,遇见中文就????。ORZ…

目标:使系统/服务器支持中文,能够正常显示。

首先,安装中文支持包language-pack-zh-hans:

$ sudo apt-get install language-pack-zh-hans
然后,修改/etc/environment(在文件的末尾追加):

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
再修改/var/lib/locales/supported.d/local(没有这个文件就新建,同样在末尾追加):

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312
最后,执行命令:

$ sudo locale-gen
对于中文乱码是空格的情况,安装中文字体解决。

$ sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
以上,问题解决,中文显示正常。:)



perl: warning: Setting locale failed.   
perl: warning: Please check that your locale settings:   
        LANGUAGE = "en_US:en",   
        LC_ALL = (unset),   
        LC_MESSAGES = "en_US.UTF-8",   
        LANG = "en_US.UTF-8"   
    are supported and installed on your system.   
perl: warning: Falling back to the standard locale ("C").   
locale: Cannot set LC_CTYPE to default locale: No such file or directory   
locale: Cannot set LC_MESSAGES to default locale: No such file or directory   
locale: Cannot set LC_ALL to default locale: No such file or directory   
(Reading database ... 21173 files and directories currently installed.)  
Removing bind9 ...  
 * Stopping domain name service... bind9                                        [ OK ]
Processing triggers for man-db ...   
locale: Cannot set LC_CTYPE to default locale: No such file or directory   
locale: Cannot set LC_MESSAGES to default locale: No such file or directory   
locale: Cannot set LC_ALL to default locale: No such file or directory 



解决办法:

First run locale to list what locales currently defined for the current user account:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Then generate the missing locale and reconfigure locales to take notice:

$ sudo locale-gen "en_US.UTF-8"
Generating locales...
  en_US.UTF-8... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

出错Syntax error: "(" unexpected解决方法

sudo dpkg-reconfigure dash
在选择项中选No,即可。

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is

那是因为当前系统没有安装ctags导致的,安装一个即可:

sudo apt-get install ctags

Mac M1 报错

Error detected while processing /Users/tanyuyang/.vimrc:
line 7:
E117: Unknown function: pathogen#infect
line 316:
E185: Cannot find color scheme 'Monokai_Gavin'
Press ENTER or type command to continue

启动报错,如何解决呢

处理 /home/ymm/.vimrc 时发生错误:
第 43 行:
E197: 不能设定语言为 "zh_CN.gb2312"
Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
请按 ENTER 或其它命令继续

;gt 命令会卡死

我想请问一下,当我在用 ;gt 命令跳转定义的时候会卡死,是因为我的tag文件弄的太大了吗

Windows 编译 C++ 报错求助……

d:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lpthread   collect2.exe: error: ld returned 1 exit status                                                Shell 返回 1

我的代码如果直接在命令行下编译是可以编译的,我的系统是 Win10。 @youngyangyang04 请问这是怎么回事呢?

从系统剪切板粘贴代码块时,会奇怪的插入tab和后缀

如题
复制前

# add to ~/.bashrc

PROXY_HTTP="http://127.0.0.1:7890"
p-on(){
    export http_proxy="${PROXY_HTTP}"
    export HTTP_PROXY="${PROXY_HTTP}"
    export https_proxy="${PROXY_HTTP}"
    export HTTPS_proxy="${PROXY_HTTP}"
    git config --global http.proxy "${PROXY_HTTP}"
    git config --global https.proxy "${PROXY_HTTP}"
echo "proxy on"
}
 
p-off(){
    unset http_proxy
    unset HTTP_PROXY
    unset https_proxy
    unset HTTPS_PROXY
    git config --global --unset http.proxy
    git config --global --unset https.proxy
echo "proxy off"
}

复制后

image

无法分配颜色

处理 /.vimrc[316] /PowerVim/.vim/colors/Monokai_Gavin.vim 时发生错误:
第 232 行:
E254: 无法分配颜色 none
请按 ENTER 或其它命令继续

我进入.vimrc文件,翻到316行是如下代码,这个该如何解决那
使用的背景主题
316 colorscheme Monokai_Gavin

中文注释添加不了

ubuntu20.4 下的power vim 添加不了中文注释,大家的是不是这样。有什么办法解决吗?

光标移动到左窗口操作延迟太大

;l // 光标移动到右窗口
;h // 光标移动到左窗口
当多个窗口打开时,光标移动到右窗口正常秒移,但光标移动到左窗口有一秒以上延迟,影响体验。

vi Demo.java

"Demo.java" [New]
Error detected while processing BufNewFile Autocommands for ".java"..FileType A
utocommands for "java"..script /Users/qqe/example/workspace/PowerVim/.vim/bund
le/vim-javacomplete2/autoload/javacomplete.vim:
line 18:
Javacomplete needs Python support to run!
Error detected while processing BufNewFile Autocommands for "
.java"..FileType A
utocommands for "java":
E117: Unknown function: javacomplete#Start


设备:m1 macbook air

错误问题

我电脑上是装了ack的但是使用两个查找命令时就不行,
;ff显示如下:
image
;fw显示如下:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.