2018-05-30 09:25:56 zxl119zxl911 阅读数 1124

Vim的升级安装以及Python支持

博主Linux状态说明:centos7,自带vim

第一步参考以下地址进行设置

https://blog.csdn.net/nzyalj/article/details/75331822

按照上述博客的步骤完成后发现还是没法添加对python3的支持

alias vim='/usr/vim的可执行文件路径'

上述命令能够保证python3的支持显示出来,但是重启后没有了

使用以下命令查看vim的地址

which vim

发现vim并没有指向我的安装目录,而是指向/usr/local/bin/vim

于是删掉该目录下的vim(应该是以前安装的为删除干净的?)

使用ln -s建立一个软链接到我安装位置的vim,重启之后就OK了

问题:博主使用以下命令创建过环境变量,使用echo $PATH查看环境变量的设置也生效了,怀疑是环境变量里面包含/usr/local/bin以及下面设置的两个地址,两个地址都有vim,但vim的配置不一样导致该问题。

export PATH=$PATH:/usr/local/vim8/bin/

环境变量的配置

https://www.linuxidc.com/Linux/2015-08/121192.htm

Vim的配置


2019-09-23 17:09:10 D_estin_y 阅读数 795
在Linux下安装VIM的命令。

yum -y install vim*

想要使用yum,那么你的电脑必须要联网,这个相当于联网下载, -y是代表遇到所有问yes or no 都选yes,简写为y。install就是安装的意思。最后的vim*,*是通配符,就是下载vim下的所有。

安装完成后输入vim可以看到如下:
在这里插入图片描述
那么证明vim安装成功了。

vim - 创建文件
vim - 光标移动
vim - 退出
vim - 删除
vim - 编辑模式
vim - 撤销
vim - 文本替换
vim - 文本搜索 vim - 复制和粘贴

1. vim - 创建文件
// 创建一个新的文件并进入编辑
// 如果文件已经存在,则直接进入编辑
vim newfile

2. vim - 光标移动
通过 ↑↓←→按键进行光标的移动。
如果没有 ↑↓←→按键,可以通过 k上 h左 j下 l右 来进行移动。

3.vim - 退出
执行以下命令之前可以先按一下 Esc 键,以确保处于视图模式
:命令严格区分大小写

  • 保存并退出 :wq + 回车键
  • 保存并退出 ZZ
  • 不保存退出 :q! +回车键

4.vim - 删除
在视图模式下删除当前光标处的文本 x键
在视图模式下删除当前光标处的整行 dd

5.vim - 编辑模式
进入编辑模式 i键

6.vim - 撤销
撤销上一次的操作,等同于Ctrl + z u键
重做 Ctrl + r

7.vim - 文本替换
%s/被替换的文本/替换成的文本,比如%s/o/+++会把所有的o替换成+++。如图所示

8.vim - 文本搜索
搜索 /欲搜索的文本,比如 /o 会搜索文本中所有的o

9.vim - 复制和粘贴
复制光标处所在的行 yy
粘贴 p

2020-03-09 12:15:42 JoJo48 阅读数 35

一、Linux vim的安装

VI是LINUX下最老牌的编辑工具,而VIM则是VI的升级版本,是LINUX系统必备的软件。可以解决在VI编辑里方向键变成“A、B、C、D”、“backspace”无法使用,“i”不插入等问题。可以让语法高亮等。

sudo apt-get install vim-gtk

无
出现如下图所示的界面表示安装完毕。
无
补充另外一种检验安装是否成功的方法:

vim

出现上图则代表成功,然后敲击ESC键,输入:q就可退出vim,回到命令界面。

2019-01-02 23:59:04 u013496080 阅读数 899

在写Python的过程中经常会遇到依赖包在Linux可以轻松安装却在Windows上安装不了的情况,除了在Linux桌面发行版上开,还可以在Linux下搭建一个编辑器,下面就记录一下给vim安装依赖插件的过程。

首先安装git 和 vim,git 其中是用来下载插件包的,使用 apt install -y vim git来安装(Ubuntu),yum  install -y vim git(centos)。

vim的插件都是默认安装在~/.vim下面,vim缺乏默认的插件管理器,如果每个插件都手动下载然后在vi ~/.vimrc中配置的话会很繁琐很费劲,所以选用Vundle来管理插件,vundle分别是 Vim 和 Bundle 的缩写,它是一款能够管理 Vim 插件的工具,Vundle 为每一个你安装的插件创建一个独立的目录树,并在相应的插件目录中存储附加的配置文件。因此,相互之间没有混淆的文件。简言之,Vundle 允许你安装新的插件、配置已有的插件、更新插件配置、搜索安装的插件和清理不使用的插件,所有的操作都可以在一键交互模式下完成。

使用 git clone https://github.com/VundleVim/Vundle.vim.git  ~/.vim/bundle/Vundle.vim将vundle插件安装到vim,然后在 用户目录下新建文件 vim ~/.vimrc,在里面写配置文件 

----------

set nocompatible " be iMproved, required
set autoindent  
set tabstop=4    
set shiftwidth=4    
set expandtab    
set number  
filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'rkulla/pydiction'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
call vundle#end() " required
filetype plugin indent on " required
filetype plugin on
let g:pydiction_location ='/root/.vim/bundle/pydiction/complete-dict'

------------------------------

然后打开vim 输入 :PluginInstall安装插件(命令模式),输入后不用管,插件会自动下载,安装成功会在每个插件面前会显示+号,或者使用 vim +PluginInstall +qall (Linux命令)命令安装插件。

需要添加新的插件只需要在配置文件里面添加 Plugin '用户/插件名'(GitHub用户/仓库名),然后同样执行插件安装命令就可以安装了,然后配置插件工作目录就行比如 let g:pydiction_location ='/root/.vim/bundle/pydiction/complete-dict'。
记录几个插件常用命令:
:PluginList 列出安装的插件列表
:PluginUpdate 更新插件
:PluginClean 在配置文件中注释掉不要的插件行,然后执行这个命令就可以卸载对应的插件
:PluginSearch xxx 查找vim插件

一个应该有用的插件推荐:https://blog.csdn.net/zzyczzyc/article/details/83244516

------------插件目录样例-------

.
|-- bundle
|   |-- Vundle.vim
|   |   |-- CONTRIBUTING.md
|   |   |-- LICENSE-MIT.txt
|   |   |-- README.md
|   |   |-- README_KR.md
|   |   |-- README_ZH_CN.md
|   |   |-- README_ZH_TW.md
|   |   |-- autoload
|   |   |   |-- vundle
|   |   |   |   |-- config.vim
|   |   |   |   |-- installer.vim
|   |   |   |   `-- scripts.vim
|   |   |   `-- vundle.vim
|   |   |-- changelog.md
|   |   |-- doc
|   |   |   |-- tags
|   |   |   `-- vundle.txt
|   |   |-- ftplugin
|   |   |   `-- vundlelog.vim
|   |   |-- syntax
|   |   |   `-- vundlelog.vim
|   |   `-- test
|   |       |-- files
|   |       |   `-- test.erl
|   |       |-- minirc.vim
|   |       `-- vimrc
|   |-- command-t
|   |   |-- CODE_OF_CONDUCT.md
|   |   |-- CONTRIBUTING.md
|   |   |-- Gemfile
|   |   |-- Gemfile.lock
|   |   |-- LICENSE
|   |   |-- README.md
|   |   |-- Rakefile
|   |   |-- appstream
|   |   |   `-- vim-command-t.metainfo.xml
|   |   |-- autoload
|   |   |   |-- commandt
|   |   |   |   |-- isengard.vim
|   |   |   |   |-- mirkwood.vim
|   |   |   |   `-- private.vim
|   |   |   `-- commandt.vim
|   |   |-- bin
|   |   |   `-- benchmarks
|   |   |       |-- matcher.rb
|   |   |       `-- watchman.rb
|   |   |-- data
|   |   |   `-- benchmark.yml
|   |   |-- doc
|   |   |   |-- command-t.txt
|   |   |   `-- tags
|   |   |-- fixtures
|   |   |   |-- bar
|   |   |   |   |-- abc
|   |   |   |   `-- xyz
|   |   |   |-- baz
|   |   |   |-- bing
|   |   |   `-- foo
|   |   |       |-- alpha
|   |   |       |   |-- t1
|   |   |       |   `-- t2
|   |   |       `-- beta
|   |   |-- plugin
|   |   |   `-- command-t.vim
|   |   |-- ruby
|   |   |   `-- command-t
|   |   |       |-- bin
|   |   |       |   `-- commandtd
|   |   |       |-- command-t.gemspec
|   |   |       |-- ext
|   |   |       |   `-- command-t
|   |   |       |       |-- depend
|   |   |       |       |-- ext.c
|   |   |       |       |-- ext.h
|   |   |       |       |-- extconf.rb
|   |   |       |       |-- heap.c
|   |   |       |       |-- heap.h
|   |   |       |       |-- match.c
|   |   |       |       |-- match.h
|   |   |       |       |-- matcher.c
|   |   |       |       |-- matcher.h
|   |   |       |       |-- ruby_compat.h
|   |   |       |       |-- watchman.c
|   |   |       |       `-- watchman.h
|   |   |       `-- lib
|   |   |           |-- command-t
|   |   |           |   |-- controller.rb
|   |   |           |   |-- finder
|   |   |           |   |   |-- buffer_finder.rb
|   |   |           |   |   |-- command_finder.rb
|   |   |           |   |   |-- file_finder.rb
|   |   |           |   |   |-- help_finder.rb
|   |   |           |   |   |-- history_finder.rb
|   |   |           |   |   |-- jump_finder.rb
|   |   |           |   |   |-- line_finder.rb
|   |   |           |   |   |-- mru_buffer_finder.rb
|   |   |           |   |   `-- tag_finder.rb
|   |   |           |   |-- finder.rb
|   |   |           |   |-- match_window.rb
|   |   |           |   |-- metadata
|   |   |           |   |   `-- fallback.rb
|   |   |           |   |-- mru.rb
|   |   |           |   |-- path_utilities.rb
|   |   |           |   |-- progress_reporter.rb
|   |   |           |   |-- prompt.rb
|   |   |           |   |-- scanner
|   |   |           |   |   |-- buffer_scanner.rb
|   |   |           |   |   |-- command_scanner.rb
|   |   |           |   |   |-- file_scanner
|   |   |           |   |   |   |-- find_file_scanner.rb
|   |   |           |   |   |   |-- git_file_scanner.rb
|   |   |           |   |   |   |-- ruby_file_scanner.rb
|   |   |           |   |   |   `-- watchman_file_scanner.rb
|   |   |           |   |   |-- file_scanner.rb
|   |   |           |   |   |-- help_scanner.rb
|   |   |           |   |   |-- history_scanner.rb
|   |   |           |   |   |-- jump_scanner.rb
|   |   |           |   |   |-- line_scanner.rb
|   |   |           |   |   |-- mru_buffer_scanner.rb
|   |   |           |   |   `-- tag_scanner.rb
|   |   |           |   |-- scanner.rb
|   |   |           |   |-- scm_utilities.rb
|   |   |           |   |-- settings.rb
|   |   |           |   |-- stub.rb
|   |   |           |   |-- util.rb
|   |   |           |   |-- vim
|   |   |           |   |   |-- screen.rb
|   |   |           |   |   `-- window.rb
|   |   |           |   `-- vim.rb
|   |   |           `-- command-t.rb
|   |   |-- spec
|   |   |   |-- command-t
|   |   |   |   |-- controller_spec.rb
|   |   |   |   |-- finder
|   |   |   |   |   |-- buffer_finder_spec.rb
|   |   |   |   |   `-- file_finder_spec.rb
|   |   |   |   |-- matcher_spec.rb
|   |   |   |   |-- scanner
|   |   |   |   |   |-- buffer_scanner_spec.rb
|   |   |   |   |   |-- file_scanner
|   |   |   |   |   |   |-- ruby_file_scanner_spec.rb
|   |   |   |   |   |   `-- watchman_file_scanner_spec.rb
|   |   |   |   |   `-- file_scanner_spec.rb
|   |   |   |   |-- vim_spec.rb
|   |   |   |   `-- watchman
|   |   |   |       `-- utils_spec.rb
|   |   |   `-- spec_helper.rb
|   |   `-- vendor
|   |       |-- vimscriptuploader
|   |       |   |-- README.markdown
|   |       |   |-- vimscriptdef.rb
|   |       |   `-- vimscriptuploader.rb
|   |       `-- vroom
|   |           |-- CONTRIBUTING.md
|   |           |-- LICENSE
|   |           |-- README.md
|   |           |-- examples
|   |           |   |-- basics.vroom
|   |           |   |-- blocks.vroom
|   |           |   |-- buffer.vroom
|   |           |   |-- continuations.vroom
|   |           |   |-- controls.vroom
|   |           |   |-- directives.vroom
|   |           |   |-- escaping.vroom
|   |           |   |-- messages.vroom
|   |           |   |-- mode.vroom
|   |           |   |-- range.vroom
|   |           |   `-- system.vroom
|   |           |-- scripts
|   |           |   |-- respond.vroomfaker
|   |           |   |-- shell.vroomfaker
|   |           |   `-- vroom
|   |           |-- setup.cfg
|   |           |-- setup.py
|   |           `-- vroom
|   |               |-- __init__.py
|   |               |-- actions.py
|   |               |-- args.py
|   |               |-- buffer.py
|   |               |-- color.py
|   |               |-- command.py
|   |               |-- controls.py
|   |               |-- environment.py
|   |               |-- messages.py
|   |               |-- neovim_mod.py
|   |               |-- output.py
|   |               |-- runner.py
|   |               |-- shell.py
|   |               |-- test.py
|   |               `-- vim.py
|   |-- pydiction
|   |   |-- README
|   |   |-- README.md
|   |   |-- after
|   |   |   `-- ftplugin
|   |   |       `-- python_pydiction.vim
|   |   |-- complete-dict
|   |   `-- pydiction.py
|   |-- sparkup
|   |   |-- Makefile
|   |   |-- README.md
|   |   |-- TextMate
|   |   |   `-- Sparkup.tmbundle
|   |   |       |-- Commands
|   |   |       |   `-- Sparkup\ expand.tmCommand
|   |   |       |-- Support
|   |   |       |   `-- sparkup.py -> ../../../sparkup.py
|   |   |       `-- info.plist
|   |   |-- ftdetect
|   |   |   `-- hsb.vim
|   |   |-- ftplugin -> vim/ftplugin
|   |   |-- mit-license.txt
|   |   |-- sparkup-unittest.py
|   |   |-- sparkup.py
|   |   `-- vim
|   |       |-- README.txt
|   |       `-- ftplugin
|   |           |-- html
|   |           |   |-- sparkup.py -> ../../../sparkup.py
|   |           |   `-- sparkup.vim
|   |           |-- htmldjango -> html
|   |           |-- smarty -> html
|   |           `-- xml -> html
|   `-- vim-fugitive
|       |-- CONTRIBUTING.markdown
|       |-- README.markdown
|       |-- autoload
|       |   `-- fugitive.vim
|       |-- doc
|       |   |-- fugitive.txt
|       |   `-- tags
|       |-- ftdetect
|       |   `-- fugitive.vim
|       |-- plugin
|       |   `-- fugitive.vim
|       `-- syntax
|           `-- fugitive.vim
`-- test.py

68 directories, 171 files

-----------------------------------

 

 

Linux vim
2019-10-04 20:25:14 sinat_41909065 阅读数 103

0 前言

vim是常用的文本编辑器,是vi的升级版,本文总结一些基本内容。
参考书:《鸟哥的Linux私房菜 基础学习篇(第三版)》第十章

1 三种模式

vim和vi一样,分为三个模式:一般模式、编辑模式和命令行模式。

1.1 一般模式

以vim打开一个文件后便由命令行模式进入一般模式了。
可移动光标、删除、复制和粘贴。

1.2 编辑模式

在一般模式中,按下“i, I, o, O, a, A, r, R”中的任何一个字母,即可进入编辑模式,按下[Esc]退出至一般模式。
可进行文本编辑。

1.3 命令行模式

在一般模式中,输入“:, /, ?”中的任何一个,即可进入命令行模式。
可进行查找、读取、保存、替换等

2 按键说明

这里尽可能多地罗列出按键的功能,对一些常用的按键会用黑体+斜体标出。

2.1 光标移动

  • h或左箭头键: 光标向左移动一个字符
  • j或下箭头键: 光标向下移动一个字符
  • k或上箭头键: 光标向上移动一个字符
  • l或右箭头键: 光标向右移动一个字符
  • Ctrl + f: 屏幕向下移动一页,同Page Down键(常用)
  • Ctrl + b: 屏幕向上移动一页,同Page Up键(常用)
  • Ctrl + d: 屏幕向下移动半页
  • Ctrl + u: 屏幕向上移动半页
  • +: 光标移动到非空格符的下一行
  • -: 光标移动到非空格符的上一行
  • n< space >:space为空格键,光标会向右移动这一行的n个字符
  • 0或Home: 数字0,移动到这一行最前面的字符处(常用)
  • $或End:移动到这一行的最后面字符处(常用)
  • H: 光标移动到这个屏幕的最上方那一行的第一个字符
  • M: 光标移动到这个屏幕的中央那一行的第一个字符
  • L: 光标移动到这个屏幕的最下方那一行的第一个字符
  • G: 移动到这个文件的最后一行(常用)
  • nG:移动到这个文件第n行
  • gg: 移动到这个文件的第一行(常用)
  • N[Enter]:光标向下移动n行(常用)

2.2 查找与替换

查找:

  • /word:向下寻找一个名称为word的字符串(常用)
  • ?word:向上寻找一个字符串名称为word的字符串
  • n:英文按键,重复前一个查找的操作
  • N:英文按键,与n相反,“反向”进行前一个查找操作。如果输入/word,再按N,就会向上查找

替换:

  • :n1,n2s/word1/word2/g:n1和n2为数字,在第n1和n2行之间寻找word1字符串,并将该字符串替换为word2(常用)
  • :1,$s/word1/word2/g:从第一行到最后一行查找word1字符串,并将其替换为word2(常用)
  • :1,$s/word1/word2/gc:从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前提示字符给用户确认是否替换(常用)

2.3 删除、复制与粘贴

删除:

  • x,X:x为向后删除一个字符,X为向前删除一个字符(常用)
  • nx:n为数字,连续向后删除n个字符
  • dd:删除光标所在的一整行(常用)
  • ndd:n为数字,删除光标所在的向下n行(常用)
  • d1G:删除光标所在到第一行的所有数据
  • dG:删除从光标所在到第一行的左右数据
  • d$:删除从光标所在处到该行的第一个字符
  • d0:数字0,删除从光标所在处到该行的最前面一个字符

复制:

  • yy:复制光标所在的那一行(常用)
  • nyy:n为数字,复制光标所在的向下n行
  • y1G:复制光标所在行到最后一行的所有数据
  • yG:复制光标所在行到最后一行的所有数据
  • y0:复制光标所在的那个字符到该行行首的所有数据
  • y$:复制光标所在的那个字符到该行行尾的所有数据
  • p,P:p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行(常用)

合并:

  • J:将光标所在行与下一行数据结合为同一行

删除:

  • c:重复删除多个数据,例如向下删除10行:10cj

常用技巧:

  • u:复原前一个操作(常用)
  • Ctrl+r:重做上一个操作(常用)
  • . :小数点,重复前一个操作(删除、重复粘贴),按下小数点就好了(常用)

2.4 一般模式切换到编辑模式

  • i,I:进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格字符处开始插入(常用)
  • a,A:进入插入模式,a为从目前光标的下一个字符处插入,A为从光标所在行的最后一个字符处开始插入(常用)
  • o,O:进入插入模式,o为在目前光标所在的下一行处插入新的一行,O为在目前光标出所在的上一行插入新的一行(常用)
  • r,R:进入替换模式,r只会替换光标处所在的那一个字符一次,R会一直替换光标所在的文字,直到按下[Esc]为止(常用)

2.5 一般模式切换到命令行模式

  • :w:将编辑的数据写入硬盘文件中(常用)
  • :w!:若文件属性为“只读”时,强制写入该文件,成功与否取决于你对该文件的权限
  • :q:离开vim(常用)
  • :q!:若曾修改过文件,又不想存储,使用“!”强制离开不保存文件
  • :wq:保存后离开,若为“:wq!”则为强制保存后离开(常用)
  • ZZ:大写的字母z,若文件没有改动,则不保存离开,若已被改动,保存后离开
  • :w[filename]:另存为
  • :r[filename]:在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件内容加到光标所在行后面
  • :n1,n2 w [filename]:将n1到n2的内容保存成filename这个文件
  • :! command:暂时离开vi到命令行模式下执行command的显示结果

2.6 vim环境的更改

  • :set nu:显示行号,设置之后,会在每一行的前缀显示该行的行号
  • :set nonu:与set nu相反,为取消行号

3 保存文件、恢复与打开时的警告消息

在我们使用vim编辑时,vim会在当前文件的目录下新建一个名为.filename.swp的文件(暂存文件),会记录你的操作,相当于实时备份,用于数据恢复。

如果在未正常保存的情况下中断vim,再打开时,由于.swp文件存在,vim会给你以下选项:

  • [O]open Read-Only:以只读的方式打开
  • (E)dit anyway:正常方式打开,不会载入暂存文件的内容
  • ( R)ecover:加载暂存文件的内容
  • (D)elete it:删除暂存文件
  • (Q)uit:离开vim
  • (A)bort:忽略这个编辑行为,与quit类似

Linux vim学习

阅读数 267

Linux vim学习

博文 来自: jamesChentt

linux vim插件安装

阅读数 538

Linux下vim的安装、配置以及使用。

博文 来自: Crazy__Programmer
没有更多推荐了,返回首页