Visual Studio 代码自动补全
VisualStudio代码自动补全最近使用VS学习opencv,觉得VS的代码提示属实是反人类的设计,明明都对应到了我想要选择的选项,还必须的按↓键再按enter才能确定,人都给整烦躁了。
打开工具→选项→文本编辑器→C/C++→高级选项将选项中的主动提交成员列表后面的false该为true将选项中的成员列表提交字符后面改为enter或者你想要指定的键linux命令自动补全工具bash
什么是命令自动补全在Linux命令行中,当输入字符后,按Tab键,Shell就会列出以这些字符开头的所有可用命令,如果只有一个命令匹配到,按一次Tab键就自动将这个命令补全。
如果输入pass,此时按Tab键,因为以pass开头的命令只有passwd这个命令,Shell就会自动补全passwd命令。
另外如果输入的字符匹配多个命令则会列出所有可用的命令,比如,如果输入do,此时按Tab键Shell就会自列出可用的命令。
[root@node2~]#do
dodocker-containerd-shimdockerddone
dockerdocker-containerd-shim-currentdockerd-current
docker-containerddocker-ctr-currentdocker-storage-setup
docker-containerd-currentdocker-currentdomainname
但是系统自带的命令补全功能有限,自动补全功能仅限于命令和文件名。
可以安装Bash命令补全增强软件包bash-completion来实现更多命令的补全。
bash-completion的安装以Centos为例
[root@node1~]#cat/etc/redhat-release
CentOSLinuxrelease7.7.1908(Core)
直接通过yum命令安装
yuminstallbash-completion
bash-completion版本信息
[root@node1completions]#rpm-qibash-completion
Name:bash-completion
Epoch:1
Version:2.1
Release:6.el7
Architecture:noarch
InstallDate:Thu19Mar202007:59:19AMCST
Group:Unspecified
Size:264934
License:GPLv2+
Signature:RSA/SHA256,Fri04Jul201408:47:01AMCST,KeyID24c6a8a7f4a80eb5
SourceRPM:bash-completion-2.1-6.el7.src.rpm
BuildDate:Tue10Jun201408:05:27AMCST
BuildHost:worker1.bsys.centos.org
Relocations:(notrelocatable)
Packager:CentOSBuildSystem
Vendor:CentOS
URL:http://bash-completion.alioth.debian.org/
Summary:ProgrammablecompletionforBash
Description:
bash-completionisacollectionofshellfunctionsthattakeadvantage
oftheprogrammablecompletionfeatureofbash.
配置命令补全
source/usr/share/bash-completion/bash_completion
命令补全的脚本存放在/usr/share/bash-completion/completions/目录,可以在这个目录查看支持增强补全功能的命令。
再试试输入docker命令后按tab键:
[root@node1completions]#docker
builddiffhistoryinspectlogsportrestartsearchstatstopwait
commiteventsimagekillnetworkpsrmsecretstopunpause
containerexecimagesloadnodepullrmiserviceswarmupdate
cpexportimportloginpausepushrunstacksystemversion
createhelpinfologoutpluginrenamesavestarttagvolume
[root@node1completions]#docker
可以看到后续可用命令的提示,妈妈再也不用担心我记不住命令了。
同样对于kubenetes也可以实现命令的自动补全和提示:
[root@node1~]#kubectl
annotatecertificatecordondraingetport-forwardrununcordon
api-versionscluster-infocpeditlabelproxyscaleversion
applycompletioncreateexeclogsreplaceset
attachconfigdeleteexplainoptionsrolling-updatetaint
autoscaleconvertdescribeexposepatchrollouttop
[root@node1~]#kubectl
git的命令补全如果是在安装bash-completion之后安装git是不能自动命令补全,需要手动进行一些配置。
git安装之后文档里会有git-completion.bash文件
[root@node1bash-completion]#find/-namegit-completion*
/usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.bash
/usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.tcsh
/usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.zsh
/usr/share/bash-completion/completions/git-completion.bash
/usr/share/git-core/contrib/completion/git-completion.tcsh
[root@node1bash-completion]#
安装完git之后重新source一下bash-completion
source/usr/share/bash-completion/bash_completion
看看配置之后的效果
[root@node3~]#git
addcherrydifftoolinitreflogshow
amcherry-pickfetchlogrelinkshow-branch
annotatecleanfilter-branchmergeremotestage
applycloneformat-patchmergetoolrepackstash
archivecolumnfsckmvreplacestatus
bisectcommitgcname-revrequest-pullsubmodule
blameconfigget-tar-commit-idnotesresetsubtree
branchcredentialgreppullreverttag
bundledescribehelppushrmwhatchanged
checkoutdiffimap-sendrebaseshortlog
[root@node3~]#git
如果觉得有用记得收藏点赞