一、bash之vi mode。两种方式:set -o vi(只让bash自己进入vi模式)或 set editing-mode vi(让所有使用readline库函数的程序在读取命令行时都进入vi模式)。然后:在vi mode下,要替换ESCAPE(从插入状态变回普通状态,也就是移动状态),并不是读.vim,而是要修改.inputrc:

set keymap vi-insert
"\C-f": vi-movement-mode

二、写一个sh脚本,想把命令行参数原封不动传给要调用的另一脚本,就用$@表示参数,最好用引号括起来:"$@"

三、bash里给git命令添加自动补全。.profile里添加:

source /opt/local/etc/bash_completion
source /opt/local/share/git-core/git-prompt.sh

会发现完全没感觉,因为bash版本太旧拉!mac自带的是3.2,以上脚本要在4.0以上才有用。用macport安装的新bash放在/opt/local/bin/bash里,最好是修改login shell指向它。但是mac又已经不用/etc/passwd方件,直接用chsh去修改居然又提示不是标准shell不让改,真是抓狂啊,最后在设置面板用户和组里,按住ctrl右键点用户名,弹出菜单里点高级选项,里面终于可以设置了。

四、tmux使用。

创建会话:tmux [-S 共享用的socket路径] new-session -s 会话名

查看会话:tmux [-S 共享用的socket路径] ls

加入会话:tmux [-S 共享用的socket路径] attach [-dr] -t 会话名 // -d用来把其它人踢出会话,-r设定自己只能看不能改

大S指定共享socket,小s指定该socket下的会话,连到同一会话的tmux client会得到完全相同的屏幕输入输出。都不指定的话就使用默认值了。另附配置表:./.tmux

set -g prefix C-a  #设置PREFIX为Ctrl-a
bind r source-file ~/.tmux.conf \; display "Reloaded!"  #将r键设置为加载配置文件,并显示"reloaded!"信息

bind h select-pane -L  #像vim里一样切换面板
bind j select-pane -D 
bind k select-pane -U 
bind l select-pane -R
bind - split-window    #横竖分割面板,-和|,比较形象
bind | split-window -h
bind-key -r Up resize-pane -U    #调整面板大小,上下左右,好记
bind-key -r Down resize-pane -D
bind-key -r Left resize-pane -L
bind-key -r Right resize-pane -R

unbind C-b    #解除Ctrl-b与PREFIX的对应关系
unbind Space    
unbind C-o    #这两个快捷键都是自作聪明改面板布局的,会把我们辛苦调好的布局弄乱,取消之
setw -g mode-keys vi  #copy-mode将快捷键设置为vi模式

#以下从网上拷的
set -g default-terminal "screen-256color"
set -g status-utf8 on
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
set -g message-fg white
set -g message-bg black
set -g message-attr bright
set -g status-fg white
set -g status-bg black
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-right "#[fg=cyan]%d %b %R"
set -g status-interval 60
set -g status-justify centre

setw -g monitor-activity on  #开启window事件提示
set -g visual-activity on
set-window-option -g mode-keys vi
setw -g mode-mouse on

五、将用户添加到其它组:

usermod -aG git(组) wellbye(用户)。

一般都是为了共享文件,比如普通用户想直接以local方式访问git用户下的仓库,就把该用户也添到git组里去好了。另外,为了加sudo权限,也可以加到sudo组里而避免改sudoers文件。

六、运行一个“真正”的后台程序,使之能在退出登录后仍继续运行

nohup “真正的程序命令行” &

七、修改bash命令提示符以显示当前路径

export PS1="[\w]"

更多变量可以在man bash手册里查到

shell工具使用配置备忘的更多相关文章

  1. Manjaro启动项目及服务配置备忘

    Manjaro启动项目及服务配置备忘 =============== 系统服务GUI管理搜索 systemdgenie 并安装,类似Windows的服务管理. ================ 系统启 ...

  2. 生产服务器环境最小化安装后 Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 作者:Memory 发布于:2014-8-13 15:00 Wednesday 服务器 本文 centos 6.5 优化 的项有18处: ...

  3. 生产服务器环境最小化安装后Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 本文 centos 6.5 优化 的项有18处,列表如下: 1.centos6.5最小化安装后启动网卡 2.ifconfig查询IP进行S ...

  4. jenkins持续集成配置备忘

    配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...

  5. Nginx基本配置备忘

    原文:http://www.open-open.com/lib/view/open1482477873078.html Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件 ...

  6. atom 配置备忘

    插件 vim-mode-plus vim-mode-plus-ex-mode plateformio-ide-terminal    'cmd窗口 docblockr 帮助你快速的生成注释 linte ...

  7. Nginx学习总结(5)——Nginx基本配置备忘

    Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件的构成有所概念,一般来说,Nginx配置文件会由如下几个部分构成: # 全局块 ... # events块 events ...

  8. mac中apache+mysql+php+phpMyAdmin配置备忘

    Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配 ...

  9. Web Config配置备忘

    数据压缩 <httpCompression>节点用于配置静态压缩和动态压缩,<urlCompression>则用于开关 http压缩 <urlCompression do ...

随机推荐

  1. runtime 实现方法交换 viewwillappear方法

    1.新建分类 #import "UIViewController+swizzling.h"#import <objc/runtime.h> @implementatio ...

  2. EntityFramework 学习 一 Disconnected Entities

    如何把断开的实体添加到新的context上下文中 1.首先,我们需要把实体附加到新的context上下文实例中. 2.其次,手动的给实体设置适当的实体状态,因为新的context上下文不知道断开的实体 ...

  3. 本地文件读取(csv,txt)时字符编码问题解决

    今天进行csv文件读取时,老是入库为空,因为其中有中文字符,我要通过中文字符映射成相应的编号(上升:1011,下降:1012),于是怎么也取不到编号.刚开始以为程序映射出了问题,最后日志打出来后,发现 ...

  4. jQuery学习(3)

    可以在select中设置size属性的属性值,从而让下拉列表中的选项都显示出来. <!DOCTYPE html> <html> <head> <title&g ...

  5. yield生成器的经典案例

    如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题 ...

  6. 【DP专辑】ACM动态规划总结(转)

    http://blog.csdn.net/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强, ...

  7. codeforces 655C C. Enduring Exodus(二分)

    题目链接: C. Enduring Exodus time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  8. bzoj3573米特运输

    题意: 给定一棵树上的边和点权 改动点权使得每个父节点u容量为子节点容量的d[u](子节点个数)倍 考察点: 1.这是一道语文题 2.点权很大 直接算会爆 有一种优化办法:取log(醉 这是什么优化) ...

  9. Mysql 排序null值 排序问题分析

    mysql中null值的排序问题分析   如下表t_user:  name age zhangsan 1 lisi NULL wangwu 2   www.2cto.com   执行一下sql:  S ...

  10. ACM学习历程—HDU5587 Array(数学 && 二分 && 记忆化 || 数位DP)(BestCoder Round #64 (div.2) 1003)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5587 题目大意就是初始有一个1,然后每次操作都是先在序列后面添加一个0,然后把原序列添加到0后面,然后 ...