一、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. DevOps means no Ops!

    DevOps means no Ops! 只单纯地搞网络的话或许你可以搞得非常好,并且获得不错的薪资,不过,5年后~10年后~,那时候随便一个人经过简单的学习就能通过Web界面或者专用的工具就能搞定一 ...

  2. Mysql——JDBC编程 理论介绍

    一.JDBC简介(来自俞琰--数据库老师) Java数据库编程主要使用JDBC技术.JDBC是一种用于执行SQL语句的Java API.它由一组用Java编写的类和接口组成.JDBC为开发人员提供了一 ...

  3. [原创]java WEB学习笔记08:HttpServletRequest & ServletRequest

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  4. 某国际知名IT公司笔试

    原文地址:http://blog.csdn.net/lazy_tiger/article/details/1790986 这段时间没怎么顾及自己的这个“一寸土地”, 实在惭愧.因为这些天小弟又经历了“ ...

  5. perl常用字符串函数

    1.$position = index(string,substring,skipchars): 该函数返回子串substring在字符串string中的位置,如果不存在,则返回-1:参数skipch ...

  6. 第二天(1)声明式验证之使用验证框架验证域模型和ModelDriven验证

    有一类特殊的属性,即这个属性的类型是另外一个JavaBean,如有一个User类,代码如下: package data; public class User { private String name ...

  7. c# 继承小结

    本文意在巩固基础知识,并不是对其进行深入剖析,如若对各位高手没有什么作用,请绕过.本文为原创文,所有示例均是博主测试过的,欢迎大家批评指正,如有转载请标明出处,谢谢.继承.封装和多态是面向对象编程的重 ...

  8. Java -- Swing 组件使用

    1. 示例1 public class Main { JFrame f = new JFrame(); Icon okIcon = new ImageIcon("/home/test/sta ...

  9. linux命令学习笔记(19):find 命令概览

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能 很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花 ...

  10. 【leetcode刷题笔记】Palindrome Partitioning

    Given a string s, partition s such that every substring of the partition is a palindrome. Return all ...