vim相关

替换后续几行中的指定字符

只在后续9行(含本行)内进行替换:

1
:.,.+8s/dog/cat/g

替换每一行

1
: %s/vivian/sky/g

无法安装vim

提示为:预安装的版本和现在的minimal版本冲突

这是版本不同造成的,先将本地的vim-minimal版本进行更新,再安装新的vim

1
2
sudo dnf update vim-minimal
sudo dnf install vim

NIS服务

NIS(Network Information Service)网络信息服务的主要功能:管理账户信息。用将一台服务器的账号和密码应用于其他所有的主机上,在其他主机上登陆时,就会自动到服务器上寻找账号和密码,这样方便管理,修改服务器上的账号和密码,就相当于修改了其他所有主机的账号和密码。

ypbind error: YPPROC_DOMAIN_NOT_FOUND

在无路由器的前提下,引起ypbind无法找到域名的原因可能是本机的网关和ip地址与nis服务器不匹配。

比如nis服务器ip地址为192.168.1.xxx,而本机的ip地址是192.168.2.xxx,也就是说本机网关为192.168.2.1,那么本机和服务器就会因为不在一个网段上而无法相互通信。

所以当A计算机和B计算机无法实现数据互通时(无路由器),首先查询(查询命令/sbin/ifconfig)两个计算机的网关是否一样,是否能互相ping通。

修改本地ip、网关、子网掩码

1. 打开网卡配置文件

1
vi /etc/sysconfig/network-scripts/ifcfg-eth1

修改或添加:

1
2
3
4
5
BOOTPROTO=none %联网方式,none代表指定ip,dhcp代表自动分配ip
ONBOOT=yes %网卡启动开关
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
IPADDR=192.168.1.14

2. 重启网络服务

1
service network restart

安装texlive2016镜像

1.安装镜像

1
2
3
4
5
sudo mount -o loop texlive2016.iso /mnt
cd /mnt
sudo ./install-tl -gui %出现图形界面,"安装方案"选择"scheme-full",
%"目录设置"可以使用默认路径,也可以根据个人需要进行修改,
%设置完毕后,点击"安装TexLive",安装大约耗时15分钟

texlive.png

如图,其中要说明的有以下几点:

  • “安装方案”选择”scheme-full”,
  • “目录设置”可以使用默认路径,也可以根据个人需要进行修改,
  • 设置完毕后,点击”安装TexLive”,安装大约耗时15分钟几点:
1
sudo umount /mnt

2.设置环境变量(bash与csh的环境变量语法不一样,下面分别进行说明)

(1)BASH:

1
vi ~/.bashrc

输入以下语句:

1
2
3
4
# TeX Live 2016
export MANPATH=/usr/local/texlive/2016/texmf-dist/doc/man:${MANPATH}
export INFOPATH=/usr/local/texlive/2016/texmf-dist/doc/info:${INFOPATH}
export PATH=/usr/local/texlive/2016/bin/x86_64-linux:${PATH}

保存关闭~/.bashrc

1
source ~/.bashrc

(2)CSH:

1
vi ~/.cshrc

输入以下语句:

1
2
3
# TeX Live 2016
setenv PATH /usr/local/texlive/2016/bin/x86_64-linux:$PATH
setenv MANPATH /usr/local/texlive/2016/texmf-dist/doc/man:$MANPATH

保存关闭~/.cshrc

1
source ~/.cshrc

3.检验是否安装成功

1
xelatex --version %如果出现的是2016版本,则表示安装成功

4.更新字体

(1)将下载的字体解压到/usr/share/fonts目录下

(2)更新字库

1
sudo fc-cache -fv

PS:如果还有不清楚的地方,可以参考下面这篇博客
https://www.cnblogs.com/wenbosheng/archive/2016/08/03/5725834.html

terminator(可分割式终端)快捷键

1.关于在同一个标签内的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Alt+Up                          //移动到上面的终端
Ctrl+Shift+O //水平分割终端
Ctrl+Shift+E //垂直分割终端
Ctrl+Shift+Right //在垂直分割的终端中将分割条向右移动
Ctrl+Shift+Up //在水平分割的终端中将分割条向上移动
Ctrl+Shift+S //隐藏/显示滚动条
Ctrl+Shift+F //搜索
Ctrl+Shift+C //复制选中的内容到剪贴板
Ctrl+Shift+V //粘贴剪贴板的内容到此处
Ctrl+Shift+W //关闭当前终端
Ctrl+Shift+Q //退出当前窗口,当前窗口的所有终端都将被关闭
Ctrl+Shift+X //最大化显示当前终端
Ctrl+Shift+N or Ctrl+Tab //移动到下一个终端
Ctrl+Shift+P or Ctrl+Shift+Tab //Crtl+Shift+Tab 移动到之前的一个终端

2.有关各个标签之间的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
F11                             //全屏开关
Ctrl+Shift+T //打开一个新的标签
Ctrl+PageDown //移动到下一个标签
Ctrl+Shift+PageDown //将当前标签与其后一个标签交换位置
Ctrl+Plus (+) //增大字体
Ctrl+Minus (-) //减小字体
Ctrl+Zero (0) //恢复字体到原始大小
Ctrl+Shift+R //重置终端状态
Ctrl+Shift+G //重置终端状态并clear屏幕
Super+g //绑定所有的终端,以便向一个输入能够输入到所有的终端
Super+Shift+G //解除绑定
Super+t //绑定当前标签的所有终端,向一个终端输入的内容会自动输入到其他终端
Super+Shift+T //解除绑定

Ctrl+Shift+I //打开一个窗口,新窗口与原来的窗口使用同一个进程
Super+i //打开一个新窗口,新窗口与原来的窗口使用不同的进程

3.配置文件(改变终端的字体和背景等配置),地址为$HOME/.config/terminator/config,推荐配色方案如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[global_config]
[keybindings]
[layouts]
[[default]]
[[[child1]]]
parent = window0
type = Terminal
[[[window0]]]
parent = ""
type = Window
[plugins]
[profiles]
[[default]]
background_darkness = 0.92
background_type = transparent
cursor_color = "#3036ec"
custom_command = tmux
font = Monaco 12
foreground_color = "#00ff00"
login_shell = True
show_titlebar = False

版本控制器svn的本地多项目管理方法

1.服务器部署

(1)安装svn

1
dnf install -y subversion

(2)创建svn多版本库

1
2
3
mkdir $HOME/svn
svnadmin create $HOME/svn/project1
svnadmin create $HOME/svn/project2

在相应目录下的conf文件夹中有如下三个文件:
svnserve.conf: svn服务配置文件下
passwd: 用户名密码文件
authz: svn权限配置文件

(3)配置svn(为便于配置管理,将所有版本库的“账号密码”和“登陆用户权限”等控制文件指定为同一个配置文件)

1
2
cp $HOME/svn/project1/conf/passwd $HOME/svn/
cp $HOME/svn/project1/conf/authz $HOME/svn/

修改每个项目版本库的/conf/svnserve.conf(访问控制文件):

1
2
vi $HOME/svn/project1/conf/svnserve.conf
vi $HOME/svn/project2/conf/svnserve.conf

修改内容如下:
默认# anon-access = read | 去掉首字符“#”,read改为none,表示不允许匿名访问
默认# auth-access = write | 去掉首字符“#”
默认# password-db = passwd | 改为password-db = ../../passwd,指向$HOME/svn/passwd
默认# authz-db = authz | 改为:authz-db = ../../authz,指向$HOME/svn/authz
修改后的文件内容如下:
anon-access = none
auth-access = write
password-db = ../../passwd
authz-db = ../../authz

(4)修改$HOME/svn/passwd文件内容:
[左为用户名、右为密码]
user1 = user1123
user2 = user2123

(5)修改$HOME/svn/authz文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
[groups]
project1=user1
project2=user1,user2
%指定所有的版本库默认只读,root可读写
[/]
* = r
root = rw
%user1可读写project1版本库,@的含义可以用指针帮助理解
[project1:/]
@project1 = rw
%user1,user2可读写project2版本库
[project2:/]
@project2 = rw

(6)启动服务器$HOME/svn

1
svnserve -d -r $HOME/svn % -d表示后台运行,-r表示服务器的根目录

即可启动$HOME/svn/中的所有项目版本库project1,project2

(7)项目初始化

1
svn import $HOME/yourFile file://$HOME/svn/project1

将会拷贝目录yourFile到版本库的project1下

1
svn list file://$HOME/svn/project1	%用来查看版本库中的文件

(8)关闭svn

1
killall svnserve

注意:修改authzpasswd文件后,需要关闭和重启svn服务器

2.客户端操作

(1)将文件从版本库取出到本地目录
首先进入你想存放取出文件的位置,然后

1
svn checkout svn://192.168.0.100/project1	%接着输入用户名和密码

这里的数字代表本地电脑的IP,用ifconfig命令查询,IP后紧跟的仅仅是$HOME/svn目录以下的项目名
(这是因为在启动服务器时已经将$HOME/svn设为根目录了)

1
svn checkout svn://192.168.0.100/project1 -r 5 	%取出指定版本的文件

(2)往版本库中添加新的文件,更新版本库

1
2
3
svn add xxx.txt     %此命令得在checkout命令执行的目录中才能生效
svn commit xxx.txt -m "add 123.txt" #“”中填写备注,只提交123.txt
svn commit -m "LogMessage" %提交当前目录下的所有文件

(3)删除文件,更新版本库

1
2
svn delete xxx.txt
svn ci -m "delete testfile"

(4)更新本地工作副本

1
2
svn update -r 200 xxx.txt 	%将本地的文件xxx.txt还原到版本200
svn update %如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本

(5)查看文件修改记录,及其版本号的变化

1
svn log xxx.txt

(6)查看文件详细信息(路径、版本、时间、提交者等信息)

1
svn info xxx.txt

(7)比较版本间的差异

1
svn diff -r 2:102 xxx.txt 	%对版本2和版本102比较差异

(8)版本库下的文件和目录列表

1
svn list file://$HOME/svn/project1

(9)创建新目录

1
2
svn mkdir myDirectory
svn commit -m "Add myDirectory"

(10)移动文件至其他目录

1
2
3
4
mv 001.txt ../ADirectory
svn add ../ADirectory/001.txt
svn delete 001.txt
svn commit -m "Move 001.txt to ADirectory"

3. 将svn服务器置于/opt目录下的注意事项

(1)必须以超级用户的身份(su或sudo)开启服务器
(2)普通用户身份可以提交新版本

制作含LaTeX公式的流程图

1. 安装dia编辑器和inkscape

1
2
sudo dnf install dia
sudo dnf install inkscape

2. inkscape中使用LaTeX命令写数学公式,需要安装以下两个插件:

1
2
sudo dnf install ghostscript
sudo dnf install pstoedit

3. dia与inkscape混合使用方法

  • 在dia中画流程图,保存为.dia格式
  • 用inkscape打开xxx.dia文件
  • 依次点击“扩展” – “渲染” – “LaTeX”
  • 在对话框中的第一行输入$\mu > \mu_{max}?$,再点击“应用”,就会出现编译后的LaTeX字体(出现的位置一般在右下方),
  • 此字体可以理解为一个图片,可以拖动、放大与缩小,可将其拖动到流程图中
  • 将编辑好后的流程图保存为.svg格式,便于以后的修改

    4. eps图片的导出

    (1)dia:点击“文件”–“导出”,选择eps格式(Pango)
    (2)inkscape:点击“文件”–“保存副本”,选择eps格式

pdf的合并、编辑、改变尺寸

1.合并软件pdf-stapler

安装:

1
sudo dnf install pdf-stapler

合并:

1
pdf-stapler cat input1.pdf input2.pdf input3.pdf inputN.pdf output.pdf

最后一个output.pdf代表合并后的pdf文件,该文件名不能是已存在的文件名,即没有覆盖功能

2.编辑软件pdfedit

安装:

1
sudo dnf install pdfedit

使用:

1
pdfedit	%打开图形界面,具体功能很多,尚未仔细研究

3.改变pdf尺寸的软件gimp

  • 安装:
1
sudo dnf install gimp
  • 点击“文件”–“打开”导入文件,导入时需要输入尺寸,该尺寸的大小决定图片的分辨率,尽量符合原图片的大小

  • 点击“图像”–“打印大小”,输入目标尺寸

  • 点击“文件”–“overwrite xxx.pdf”来更新pdf文件