关于SecureCRT及Vim的使用

关于SecureCRT及Vim的使用听说大部分的搞网络或者被网络搞的同学,每天都会使用SecureCRT在Linux下进行开发、测试等工作。正所谓“工欲善其事,必先利其器”,一个趁手的开发环境对工作效率的提升是不言而喻的。我在这里简单介绍一下个人在日常使用中积累下来的常用设置及操作,希望对不熟悉的朋友能有一点点参考作用,一家之言,欢迎拍砖。【SecureCRT篇】1、 自动登录服务器如果我们需要经常登录固定某

大家好,又见面了,我是你们的朋友全栈君。

听说大部分的搞网络或者被网络搞的同学,每天都会使用SecureCRT在Linux下进行开发、测试等工作。

正所谓“工欲善其事,必先利其器”,一个趁手的开发环境对工作效率的提升是不言而喻的。

我在这里简单介绍一下个人在日常使用中积累下来的常用设置及操作,希望对不熟悉的朋友能有一点点参考作用,一家之言,欢迎拍砖。

【SecureCRT篇】

1 自动登录服务器

如果我们需要经常登录固定某一台服务器,可以使用SecureCRT的自动登录功能,避免每次都要输入密码的麻烦。

打开SecureCRT,选择需要登录固定IP的会话,选择Property – Session Option – Logon Scripts,勾选 Automate logon,配置提示符及出现提示符时要发送的交互命令,便可实现自动登录。

还有另外一种方式即通过VBS脚本可以实现自动登录,这里不再赘述。

2 记录SecureCRT打屏日志

服务发布或有重要操作时,我们想要保存操作记录怎么办,全部选中然后复制粘贴吗?其实我们可以通过SecureCRT的Log Session功能实现。

打开SecureCRT会话,选择 File – Log Session,然后选择本地日志文件即可。

如果要停止日志记录,取消勾选即可。

 3、  文件上传下载

想在服务器和本地互相交换文件?可以使用SecureCRT提供的Xmodem/Zmodem功能,通过rz/sz命令实现文件发/送接收功能。

本地文件路径可以通过SecureCRT设置,如下图示:

4 反空闲

 长时间离开座位连接自动断开?可以使用SecureCRT的反空闲功能,定期自动发送指定字符串,以保持与服务器端的连接。

 SecureCRT支持\r、\n、\b、\e、\t、\v、\p等转义字符,建议使用\e。

5 模拟终端类型

 程序代码无法高亮或自动着色?试试改一下终端类型吧,通过修改终端类型,会改变终端输出时的显示风格,对应环境变量为$TERM


【自定义设置篇】

1 快速登录服务器

 平时开发及测试工作中,经常需要登录固定的一些服务器,每次都要输入IP、用户名、密码会不会太麻烦了?

这里可以使用一个简单的登录脚本即可通过配置快速访问服务器,脚本可设置默认端口、用户名、密码,方便指定IP直接登录。

2 快速加载自定义环境变量

很多同学喜欢在服务器上自定义个性化环境变量,但考虑到大部分同学共用同一登录用户,为了不影响别人使用,我们是不是要在每台机器上保存一个profile文件?

其实可以不用在每台机器上保存profile,我们可以借助一个HTTP服务达到目的。我们把profile文件保存在一个Web服务器上,然后使用SecureCRT的键盘映射功能,把下面字符串映射到任一快键键(比如F8):

cd /tmp && wget -qO – http://127.0.0.1/cgi-bin/env.cgi > .zebralrc && source .zebralrc; rm -rf .zebralrc;clear\n

在登录任一台服务器之后,只要按一下快捷键便可以自动设置自定义环境变量了。

注:自定义环境变量也可以在自动登录时通过expect交互输入,但自定义内容较多时expect偶尔会出现字串丢失的问题,多试几次通常就可以解决。

3 用好快捷键映射

经常需要在终端下输入相同的内容比如用户名或密码?这时候可以使用SecureCRT的快捷键映射功能,通过映射一键输入指定字串。

4 使用命令别名

对于常用的命令,尤其是输入参数较多的时候,可以通过alias别名简化输入。同时,使用别名也可以起到容错的作用。

5 自定义函数

通过自定义函数,可以方便地执行一些例行性的命令组合以提高效率。这里以通过进程ID查询启动时间、工作目录、路径、及启动参数为例:

6、函数组合

通过函数组合,可以方便地把多个自定义函数串联起来,实现更为强大的功能。这里以重启包含指定关键字的进程以及查看进程启动时间为例:


【文本编辑篇】 

1 VIM基本操作

VIM的基本操作,主要包括下面几方面:

1、文本编辑:移动、插入、替换、删除、查找、列模式等。

2、文件操作:新建、打开、保存、退出等。

3、代码辅助:语法高亮、代码格式化、标识符定位、taglist等。

4、其  它:多窗口、行折叠、多文件操作等。

以上操作都是基本功,不再赘述。

2 键盘映射和自定义函数

通过键盘映射,VIM可以定义自己的快捷键以提高输入效率。比如C++程序员可以通过下面映射添加行注释,类似于Eclispe的Ctrl+/功能:

map <F1> :s/^[ ]\{,2\}/\/\//<CR>

 使用VIM的自定义函数,则可实现更为强大的功能。如下面函数实现一键保存光标所在行内容到文件的功能:

   func! SaveLine()

       normal yy

       exe ‘:!echo ‘.substitute(@0,”\n”,””,””).’>>/tmp/line.txt’

   endfunc

   map <F1> :call SaveLine() <CR> <CR>

3 使用插件

VIM之所以被称为编辑器之神,和其强大的插件支持分不开的。这里介绍两个比较有用的插件,supertab和taglist,前者用于TAB键自动补齐,后者可以显示变量及函数列表。

4 文件对比

VIM支持强大的文件对比功能,可以支持同时对比多个文件,快速消除异同,动态更新等。几个有用到的命令如下:

do            覆盖当前文件所在行以消除异同,即diff obtain

dp            用当前行覆盖对比文件以消除异同,即 diff put

diffupdate    更新文件异同

5 调用外部程序

VIM可以使用!(即半角叹号)命令调用外部程序对正在编辑的文件进行处理,比如使用!xxd命令可以通过十六进制查看当前编辑区文件。

6 强大的正则式

VIM支持强大的正则式功能,比如使用下面命令可以替换中文字符:

%s/\([^\x00-\xff]\+\)//g

再比如下面命令可以实现简单的列交换:

%s/^\(.*\)\s\+\(.*\)\s\+\(.*\)$/\1 \3 \2/g

正则式的强大无须多言,VIM的正则式如果用好了,无论是编辑文字还是调试代码都会便捷到让你惊艳。


【附VIM常用命令】

本节列出本人使用vim过程中用到的常用命令,针对默认设置下的VIM生效,在某些自定义设置下可能不适用)

CTRL-[  进入普通模式(此模式为VIM默认模式)

:       普通模式下按冒号可进入命令模式

i       普通模式下按 i 进入编辑模式

 

命令行模式

    q        退出文件

    qa[ll]   即出所有 vim 缓冲区。同理有:xa[ll],:wqa[ll]等

    q!       强制退出文件

    w        写入文件

    w!       强制写入文件

    wq       写入并退出

    w file   写入文件file

    r file   读入文件file

 

    set ic           即 set ignore case,在查找时忽略大小写

    set noic         即 set noignorecase 使之大小写敏感

    script           列出当前VIM所用到的配置文件,全称为scriptname

    syntax           列出当前文件类型已定义的语法项

    syntax on        启用语法高亮,类似syntax enable

    syntax off       关闭语法高亮

    syntax clear     清除已有语法高亮规则

 

    set tabstop=4        设置TAB键为四个空格, 可简写为set ts=4

    set cmdheight=3      设置VIM窗口底部命令行的调度,默认为1

    set fileformat=unix  设置当前文件格式为unix, 可简写为ff

    set filetype=cpp     设置当前文件类型为cpp, 可简写为ft

    set list             设置制表符以^I显示,行尾会有$字符

    set iskeyword        定义VIM的WORD字符集。 简写为set isk

    set nolist           与上面相反,不再显示制表及换行

    set nowrap           不允许自动换行

    set wrap             与上面相反,启用自动换行功能

    set autowrite        打开自动存盘功能

    set noautowrite      关闭自动存盘功能

    set autoindent       启用自动缩进,可简写为set ai

   set noautoindent     取消自动缩进.

    set backup           文件保存时会生成一个备份文件

    set backupext=.bak   修改备份文件名的后缀为.bak,默认为~

    set nobackup         关闭自动备份功能.

    set number           在每一行前显示行号

    set nonumber         在行前不显示行号

    set hls              显示查找高亮

    set nohls            取消查找高亮

 

设置色彩显示

    set background=dark  使用暗色背景,简写为bg

    set background=light 使用亮色背景

    colorscheme evening  设置颜色方案

    syntax clear         暂时关闭语法高亮,仅对当前文件生效

    syntax off           关闭语法高亮,对所有文件生效。

    syntax manaul        暂时启动语法高亮,仅对当前文件生效

    syntax on            打开语法高亮,对所有文件生效

 

查看帮助

    help command         可查看关于命令command的详细信息

    set command&         恢复选项command的默认值

 

进入编辑模式

    i        光标前编辑

    I        光标置于当前行的第一个非空白字符处并进入编辑模式

    a        在光标后编辑

    A        在行尾编辑

    o        在光标所有行下行开启新行并编辑

    O        在光标所在行上行开启新行并编辑

    s        删除当前光标所在字符后编辑

    S        删除当前行(不包括行前空白)后编辑

 

光标的移动和删除

    h        左

    j        下

    k        上

    l        右

    H        屏幕左上角非空白处

    M        屏幕中间非空白处

    L        屏幕左下角非空白处

    w        右移下一个字的开始处

    W        同上,不过以空白区分字(word)

    e        移到所在字的末端

    E        同上,不过以空白区分字(word)

    b        移到上一个字的开始处

    B        同上,不过以空白区分字(word)

    gg       文件首

    G        文件尾

    }        跳到下一个空行处

    {        跳到前一个空行处

    x        删除光标所在字符

    X        删除光标前的字符

    0        行前

    ^        行前非空白处

    $        行尾

    d        删除指令,可与其它指令组合。

    dw       删除一个字(从字的光标位置删除到字尾,包括字后空白)

    daw      删除一个字(从字首删除到字尾,包括字后空白)

    diw      删除一个字(从字首删除到字尾,不包括字后空白)

    d0       删至行首

    dd       删除当前行

    D        删除到行尾

 

与数字组合

    50l        向后移50个单元

    d5w        删除后面5个字

    dL         删除到屏幕底端

    100gg      跳到文件第100行

    100G       同上

 

其它指令

    K        查找当前字的man页,相当于执行!man <cword>,

    .        重复上一个改变,包括插入,删除,或替换操作

    u        撤销

    %        当光标位于小中大括号时, 移动到小中大括号相对应的左右括号

    J        把下一行连接到当前行, 实际操作为删除当前行的换行符

    =       重新排版指令, 如=% , =L等等

    >>       向右缩进, 3>>

    <<       向左缩进 

    CTRL-f   向前翻页(即光标向下移动)

    CTRL-b   向后翻页(即光标向上移动)

    CTRL-u   向后滚动半屏

    CTRL-d   向前滚动半屏

    zz       使当前位置成为屏幕的中间

    [I       显示包含当前字的所有行

 

跳来跳去的标签

    m   标签指令, 

    mx  把当前位置标为x , x可为 a-zA-Z

    ‘x  跳至标签为x所在行的行首非空白处

    `x  跳至标签为x所在行标签时的位置

 

文本选择

    v        按行选中,以单元为单位,可以组合使用:v%,vL,v$

    V        按行选中,以行为单位

    CTRL-v   按列选中

   

选中后可进行操作

    u   转成小写  

    U  转成大写  

    y  拷贝 

    >  向右缩进   

    <   向左缩进

 

复制(yank)与粘贴(paste)

    y        拷贝指令,拷贝选定内容到缓冲区

    Y        拷贝指令,拷贝当前行的内容到缓冲区

    p        粘贴指令,粘贴由x, X, d, D, y引起的缓冲区

    P        粘贴指令,不同的是p把缓冲区内容放在当前光标之后

    yy       拷贝当前行

    y4j      拷贝当前行和后 4 行

    y`a      拷贝至标签a, 以行为单位

    y’a      拷贝至标签a, 以字符为单位

    2p       粘贴2次

    xp       对换当前字符和下一字符

    ddp      对换当前行和下一行

 

字符替换

    rx        把当前字符替换为x, x为任意字符

    R         替换n个字符, 直到按Esc或^[为止

 

全局命令

:global  找到符合匹配模式的行执行命令于其上

格式为:[range]global/{pattern}/{command},可简写为g

 

字串查找

    /        向后查找

    ?        向前查找

    *        向后查找光标所在字

    #        向前查找光标所在字

    n        下一个

    N        上一个

 

文件及位置信息

    CTRL-g        当前文件信息

    g CTRL-g      当前位置信息

 

记录和重复操作

    q            记录指令

    @            重复操作指令

    qx…q       x为a-zA-Z, …表示一系列的操作, 最后的q表示结束

    @x           重复标签为x的记录, n@x表示重复n次

 

区域无关指令

    像h, j, k, l ^F ^B这些基本的光标移动指令和m等等

 

区域相关指令

    d  y  =       这一类的操作与当前光标和最后的光标有关

    > < u U       指令在选中块之后使用

 

多行折叠

    zf        后加移动指令, 就能折叠这个区域, 如zf%,zfG等等

    zo        打开折叠

 

快速移动

    ^F ^B w W  %  30j 等

    /  ?

    fo        移到当前行中当前位置之后第一个字符o的位置

    Fo        移到当前行中当前位置之前第一个字符o的位置

 

大小写转换

    ~        大小写互换

    g~~      把该行的大小写互换

    guu      把当前行换成小写    

    gUU      把当前行换成大写  

    gUw      把当前光标位置一直到当前字结束换成大写

 

编辑模式

     CTRL-p        自动补全,或CTRL-n       

     CTRL-[        进入c-mode模式

 

字串替换

    :%s/a/b/g       把文件当中的所有的a换成b

                    选项g可以使用全文替换

                    选项c可以强制在每次替换前要求确认

                    选项i可以使查找被替换对象时忽略大小写 

 

外部命令

    :! cmd        执行命令cmd                

    :sh           暂时退出vim, 执行$SHELL

    CTRL-z        把当前程序,如VIM,挂到后台

    fg            把位于栈顶的后台程序调至前台

 

使用TAG

    CTRL-]        跳至该tag处   

    CTRL-t        返回   

    g]            显示该tag信息

 

语法高亮

    使用:syntax on就能够激活语法高亮显示了, 如果还没有显示颜色

    使用不同颜色方案: colorscheme default

 

对码农比较有用的一些东东

—————————————–

ctags *   为当前上当下所有文件创建tags文件.

CTRL-]     跳到目标tag处

CTRL-t     跳到前一次tag处

CTRL-w ]   分隔窗口并跳到目标tag处

”         返回上一次光标停留处

[I         查找全局标识符

[D         只查找#define定义的标识符,其它同[I

gD         查找局部标识符,只查找当前文件

gd         查找局部标识符,只查找当前函数

[#         跳到#if …#else #endif的开始元素

]#         跳到#if …#else #endif的结束元素

[[         移动到一个代码块的开头

][         移到到一个代码块的结尾

[{         跳到当前代码块的开头,会跳过与它平级的代码块

]}         跳到当前代码块的结尾,跳过与它平级的代码块

[m         光标在类中时可找到前一个函数的开始          

]m         光标在类中时找到下一个函数的结尾

[]         向后查找一个函数的结尾,函数的结尾以第一列出现}为标志     

]]         向前查找一个函数的开始

%          在(),[],{}之间移动

[(         类似于[{,不过工作于()而不是{}

])         类似于]},不过工作于()而不是{}

ga         显示光标处的字符编码信息

【结束语】

上面简单列举了个人工作过程中在Linux下的常用操作及设置,权做抛砖,欢迎各位同好交流指正。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137295.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PLSQL 安装教程「建议收藏」

    PLSQL 安装教程「建议收藏」PLSQL安装教程1、首先要有oracle数据库或者有oracle服务器,才可以实现使用PLSQLDeveloper工具连接到oracle数据库进行开发.2、新建文件夹,将客户端文件放到里面D:\khd\instantclient_11_2,在文件夹instantclient_11_2中自己新建NETWORK文件夹,进入NETWORK文件夹新建ADMIN文件夹,将tnsn…

    2022年6月16日
    40
  • mbus总线是什么意思_Can总线如何配置500k波特率

    mbus总线是什么意思_Can总线如何配置500k波特率MBus总线上自动波特率识别1、通过前导字节0x68,捕获引脚通过1、0比特的两个上升沿的差值除以2来自动识别出波特率。2、为什么是通过两个上升沿,而不是一个上升沿一个下降沿,比如两个比特11的长度除以2来计算?因为两条平行的MBUS总线间存在电容效应,在实验室里面由于线比较短,不容易测试出来,但在实际产品使用中是真实存在的,因此在实验室里面分别用10nf、47nf、23n…

    2022年10月8日
    0
  • 关于java的外语文献_java英文参考文献(涵盖3年最新120个)

    关于java的外语文献_java英文参考文献(涵盖3年最新120个)近年来,随着我国科学的技术的飞速发展,计算机语言的内容和形式得到了极大的丰富,特别是java语言的广泛应用,它不仅是计算机语言的重要组成部分,同时也是我国程序编写的重要内容之一,java语言的出现和广泛使用,极大的丰富了人们的生产,生活,为人们的工作和学习提供了很大的便利.下面是搜素整理的java英文参考文献的分享,供大家借鉴参考。java英文参考文献一:[1]AbbasMrAnsar,Eli…

    2022年9月30日
    0
  • Awvs详细使用教程「建议收藏」

    Awvs详细使用教程「建议收藏」Awvs的是一款非常好用的web漏洞扫描工具,他的扫描速度比较快,可以自己选择扫描速度,比较灵活。Awvs分为老的版本和新版本,下面我介绍的是新版本的功能和用法。功能介绍如下:仪表盘(监视器)功能,添加目标功能,漏洞排序功能,扫描功能,发现功能,用户功能,扫描配置功能,网络扫描功能,追踪器功能,防火墙设置,邮件设置,引擎,时间排除功能,代理功能,常规设置主要使用的功能是前面的6个,后面的根据个人的需要进行配置详细介绍如下:Dashboard功能:翻译意思仪表盘(监视器),可以对扫描对扫描

    2022年10月22日
    0
  • 六周第四次课(11月23日) 复习 扩展

    六周第四次课(11月23日) 复习 扩展

    2022年3月12日
    34
  • encode和decode的用法_postal

    encode和decode的用法_postaldecode和encode的区别和介绍by.decode(encoding=’UTF-8′,errors=’strict’)str.encode(encoding=’UTF-8′,errors=’strict’)显而易见decode是解码,encode是编码 解码代表bytes类型转成str类型 编码代表str类型转成bytes类型 而bytes类型的数据一般在写入文件时需要用到1#!/usr/bin/envpython2#-*-coding:utf-8-…

    2022年10月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号