vim的鼠标模式

好久之前就发现这个问题了——vim里没有办法右键复制!也不知道怎么想的,每次复制都是退出一遍,cat之后再复制。今天被基友提醒之后说是鼠标模式的原因!赶忙上网找了啥叫鼠标模式Orz~~~~vim的小技巧还真是多.

鼠标事件有两种处理方式,程序处理和 X 处理。如果 X 负责处理,则是左键选择,中间粘贴。在vim中设置鼠标模式后,要切换给X负责处理,有两个方法:

  1. 按住shift(alt)键,然后选择,此时由 X 处理该选择,copy 选项就 enable 了。如果放掉shift(alt)键,则由 vim处理该选择。
  2. 设置 set mouse= (就是说清空),在这次vim退出之前,永远不再干涉鼠标选择,永远把处理权交给X,这个时候鼠标就处于无模式编辑状态,当然也能用鼠标来切换vim里面的tab窗口了,vim中的编辑光标也不会跟随鼠标了。

我自己的解决的话,就是将之前设定的set mouse=a修改成set mouse=n,也就是只在普通模式下开启鼠标模式。如果需要复制文本的话,就要按v进入可视模式(反正可视模式基本上也是用来复制粘贴删除的= =)。

但是大概更加常用的还是用按下alt键的办法复制吧。

附 鼠标的模式:

n 普通模式
v 可视模式
i 插入模式
c 命令行模式
h 编辑帮助文件时,所有前面的模式
a 所有前面的模式
r |hit-enter| 和 |more-prompt| 提示时
A 可视模式的自动选择

使用vnc/xrdp连接你的Debian

前言:vnc的配置非常简单,简单到虽然界面显示很挫,依然因为惰性而懒得换。嘛,先记录一下再换Orz

安装

安装x11窗口管理器(jwm),该窗口下的终端(xterm),以及vnc服务器(vnc4server)。

apt-get install jwm xterm vnc4server iceweasel

JWM是一个简洁实用的X11窗口管理器,Puppy发行版默认的窗口管理器就是用的jwm。使用C语言编写,最小化编译可以仅使用Xlib库,代码精炼,目标文件小巧(只有130多K),足以说明作者的功底。 JWM是一个简洁实用的X11窗口管理器,Puppy发行版默认的窗口管理器就是用的jwm。使用C语言编写,最小化编译可以仅使用Xlib库,代码精炼,目标文件小巧(只有130多K),足以说明作者的功底。 项目主页:http://joewing.net/programs/jwm/index.shtml

XTerm是一个X Window System上的终端模拟器,用来提供多个独立的SHELL输入输出。

Virtual Network Computing(VNC)是进行远程桌面控制的一个软件。客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作。服务器的图形界面通过网络传输会客户端显示给用户。给你的感觉就像直接在操作本地计算机一样,只是所有的程序和命令都是在服务器端执行。

iceweasel,你可以当成firefox浏览器。 安装flash,

tar -xzvf xxx.tar.gz
cp libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so
cp -r usr/* /usr/ ## 简单配置vnc

vi /etc/bin/vncserver
$vncPort = 5900 + $displayNumber

新建一个vncserver,默认会在5900的基础上+N。新建vncserver是如果不指定vnc号码,就按照1,2,3的顺序依次递增,端口也就是5901,5902,5903递增。可以按照需求改掉

.vnc/xstartup
#!/bin/sh

temp=$(ps aux | grep [f]irefox-bin | awk '{print $2}')
[ -n "$temp" ] && kill $temp > /dev/null 2>&1
firefox --display=:1 > /dev/null 2>&1
gnome-session& # 启动桌面

给iptables添加规则

-A INPUT -p tcp --dport 5901:XXXX -j ACCEPT
-A INPUT -p tcp --dport 5801:XXXX -j ACCEPT
# 要和vnc的配置文件保持一致。

客户端连接

image

使用windows自带的远程连接

apt-get install xrdp

在本地就使用Mircosoft Remote Desktop,windows自带,Mac在应用商店也可以免费下载。

xrdp.jpg

安装firefox

首先把iceweasel卸载

1. 添加APT源地址

我们需要在/etc/apt/sources.list添加下面的源地址:

deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main

除了使用编辑器外我们还可以通过下面的命令操作来轻松完成:

echo -e "\ndeb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list > /dev/null

2. 导入密钥Key

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29

3. 更新APT源列表

sudo apt-get update

4. 安装软件

# 安装FireFox
sudo apt-get install firefox-mozilla-build
# 安装ThunderBird
sudo apt-get install thunderbird-mozilla-build
# 安装SeaMonkey
sudo apt-get install seamonkey-mozilla-build

5.一些可能有用的安装tips

dpkg: error processing firefox-mozilla-build (--configure):
 package firefox-mozilla-build is not ready for configuration
 cannot configure (current status `half-installed')
Errors were encountered while processing:
 firefox-mozilla-build
E: Sub-process /usr/bin/dpkg returned an error code (1)

apt-get install --reinstall firefox-mozilla-build

几个关于Mac的小技巧

今天新发现了几个Mac的小技巧!还蛮实用的!

  • Cmd按下时点击侧边栏将在新标签页打开文件夹
  • Cmd按下时点击dock上的app或者dock文件夹内的文件,都直达app或者文件所在的目录(这个功能超级实用啊)
  • Spotlight搜索时cmd+回车,直接在文件夹中显示搜索结果(也挺实用的啊)
  • 截图平时常用cmd+shift+4或者cmd+shift+ctl+4截取一个区域,复制内容给朋友看。但是!按下这几个键之后可以再按一下空格键,快速截取当前活跃窗口!

话说有点想做一些软件的速查手册,放在网站的侧边栏上。

显示隐藏文件和文件夹

// 显示
defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder  

// 不显示
defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder

该命令适用于 OS X Mavericks 和 OS X Yosemite 系统。


Linux下手动安装Flash插件

Debian桌面需要安装Flash插件才能看视频,安装方法很简单。打开视频页面时会跳出安装请求,点击下载tar.gz包解压。解压之后会在当前目录得到libflashplayer.soreadme.txt文件和usr文件夹。

cp libflashplayer.so /usr/lib/mozilla/plugins/
# 如果是chrome则对应chrome的插件文件。

cp -r usr/* /usr
# 把usr放在用户目录下也ok

Linux命令之Screen

之前有遇到过正在给服务器配置东西,程序编译到一半,然后断网了。。重新连上之后发现,之前的编译全白费了Orz于是转向寻找解决方法——解决方法有两个,一个是使用后台运行,也就是命令+&,另一个就是screen了。

其实这一篇是我在换Tmux前写的。总的说来screen够用了,很简单,不像Tmux摸了半天感觉就像刚开始用vim一样,有点摸不着头脑。留个总结,向不需要经常在终端下操作的童鞋推荐使用。

介绍

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能

  • 会话恢复

只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。

  • 多窗口

在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。

  • 会话共享

Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

参数说明
	-A  将所有的视窗都调整为目前终端机的大小。
	-d <作业名称>  将指定的screen作业离线。
	-h <行数>  指定视窗的缓冲区行数。
	-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
	-r <作业名称>  恢复离线的screen作业。
	-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
	-s  指定建立新视窗时,所要执行的shell。
	-S <作业名称>  指定screen作业的名称。
	-v  显示版本信息。
	-x  恢复之前离线的screen作业。
	-ls或--list  显示目前所有的screen作业。
	-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

直接上我的~/.bashrc好了

alias ss='screen -d -r'
alias s1='screen -S lu'
alias s2='screen -S ld'
alias s3='screen -S rd'
alias s4='screen -S ru'
alias ss1='screen -d -r lu'
alias ss2='screen -d -r ld'
alias ss3='screen -d -r rd'
alias ss4='screen -d -r ru'
alias sll='screen -ls'

下面说明我的用法。第一次使用ssh登陆后使用s1~s4,排好所有终端的位置,就开始用了。重新登陆后使用ss1~ss4就恢复到之前的终端界面了。很简单吧=。=配合iTerm2,还可以在同一个窗口内分割成多个小窗口,就更加方便了。


1 2 3 4 5 155 156 157 158 159 160