linux vim的全目录搜索 和 hostname的设置?
vim下的搜索命令是: vimgrep, 简写就是vim. 关于这个全局搜索的用法根grep的差不多, 但是, 如果你直接使用 grep的话 就会在vim的外部执行,
根vim内部就没有什么关系了, 所以, 要使用vimgrep, 这样搜索的结果会显式在 vim的quickfix窗口中关于搜索的格式, 跟grep差不多:
vim /搜索内容/ 搜索范围
只是跟grep不同的是, 搜索内容要用 /... / 阔起来.
范围的表示方法:
- % 表示当前文件
- 表示当前目录(不包含子目录)
- ** 表示当前目录及其下的所有递归 子目录
- 可以使用多个路径, 用空格来隔开.
搜索和quickfix窗口结合使用?
你可以直接的/单独使用vim命令来搜索, 这时候, 搜索结果是保持在另外一个缓冲区,但是他不会被 直接显示出来 当然你可以用 cn, cp 来切换
但是毕竟不是很直观, 要显示更直观, 就要结合copen命令, 将搜索结果用管道命令 传递给copen打开. 即:vim /tags.php/ ** | copen
注意, 如果在vim冒号命令的前面 指定了范围, 比如 %, 比如1,10等这些, 就表示的是 对当前缓冲区中的内容进行操作, 就不会 "临时地"返回到控制台. 而是直接对当前缓冲区进行操作.
:%!nl
跟set nu
的区别是: 前者的行号是作为这一行的内容而存在, 而后者的行号不是内容的一部分.
vim中如何引用xdebug的函数命令?
是通过 冒号命令中的 :python ..., 这里好像一定要加python, 否则就是错误的.
命令中, 使用的对象是debugger, 不是 xdebug.
比如: 要单步执行调试命令, 使用的命令是: :python debugger.step_into()
逐过程执行: : python debugger.step_over()
==================================================
单纯地用mysql原生语句书写的连接/查询数据库
<?php
header('Content-type: text/html; charset=utf8');
$conn = mysql_connect('localhost', 'root', '') or die('failed to connect!');
mysql_select_db('test', $conn); // 注意,这里的参数, 一定是'db'数据库名称 在前面, $conn在后 大于符号 的后面,不能写反了!
$sql = "insert into foo(id, name) values('', '张三'), ('', '李四'), ('', '王五')";
if(mysql_query($sql)) {echo 'insert 3 rows successfully this time';}
$sql = "select * from foo";
$result = mysql_query($sql);
while($row = mysql_fetch_row($result)){
foreach($row as $val){
echo $val.' : ';
}
echo '<br>';
}
可以看作一个空白的汉字 php echo $e['line'
语义化的输出很重要!
linux的主机名, 有三种: 一是static静态主机名,二是 动态/瞬态/临时transient hostname主机名; 三是灵活主机名:pretty ['priti]
在前面两种主机名设置中, 不能包含"特殊字符或空白字符",否则会报错,而设置失败. 而pretty主机名则可以使用特殊字符或空白字符.
要注意在不同的linux发行版和版本中, 主机名使用的文件可能不同, 有的是/etc/hostname文件, 但是fedora23中使用的是/etc/sysconfig/network文件
注意linux的选项[options] 和 表达式[expression]的区别, 看以 横线开头的 究竟是 选项还是 参数?
- 通常, 选项是要放在 紧跟着 命令后面的, 而又在参数之前的, 比如:
cat -n filename
有时候, 选项也可以放在 参数的后面... - 然而,如果 所写内容不是 "选项" , 而是 参数/表达式的 一部分, 那么就 不能 紧跟着放在 命令后, 而应该 放在命令格式 所规定的位置, 而不能乱放,否则可能会 产生错误
比如 find 命令, 因为选项是可以随意放的(通常情况下是这样的), 所以 如果find -name /etc 'rc.sysinit'
这个命令就会出错, 误以为 -name是选项 而实际上 -name是参数[表达式 expression] 的一部分, 而find的格式是 find [path] [expression], 要求 path必须放在 表达式的前面, 所以 必须将-name 放在路径后面 , 作为查找条件表达式的一部分:find /etc -name 'rc.sysinit'
命令就是正确的. - 事实上, find的格式是: find [查找目录/路径] [表达式expression]
表达式包括三种: 一种是 options 查找选项,比如 -maxdepth最大查找深度, 第二种是test, 即查找条件conditions, 这个也是我们用得最多的;第三种是操作后的动作actions
要注意: 几乎linux的所有命令和程序都遵循一个概念: 程序的参数包括选项(参数)和 非选项non-option参数. option 约束程序的行为, non-option规定程序的输入值等 通常要求 option参数 应该放在 non-option参数之前. 有些程序/命令, 即使没有这样的硬性规定, 但是最好还是按照这样的顺序写. 比如find如果不按照这样写就会报错: warning, you have specified the -maxdepth option after a non-option argument, but the -maxdepth option is not positional.
默认的查找目录是当前目录.或./, 默认的表达式是 -print,直接输出到屏幕终端
查找条件有很多方式, 比如按名字查找 -name foo, 按类型查找 -type *type, 还有按时间查询等.
-type c
File is of type c:
b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.
s socket
D door (Solaris)
关于linux的hostname? 参考: http://blog.sina.com.cn/s/blog_d83f9fc50102w52w.html
有三种, static hostname, transient临时的, 瞬态的名字和 pretty灵活的名字, 可能通过 hostaname, 文件 /etc/hostname, /etc/sysconfig/network 等 都无法设置成功 , 不会生效. 而是要通过命令 hostnamectl [命令包括: status, set-hostname等等)
- transient名字 , 可能是由 dhcp或 dns服务器 临时分配的, 比如可能是 当前的ip地址, 而有时 终端terminal 使用的主机名 就是 transient名字, 所以会出现
[root@192.168.1.102 ~ ] #
这样的 提示符. - hostnamectl set-hostname .... 命令是即时生效的, 不需要重启机器.
linux vim的全目录搜索 和 hostname的设置?的更多相关文章
- linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的
发现一个比ack更快更好用的: https://github.com/ggreer/the_silver_searcher , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...
- linux vim 配置文件(高亮+自动缩进+行号+折叠+优化)
点评:将一下代码copy到 用户目录下 新建文件为 .vimrc保存即可生效 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)"===================== ...
- 比起Windows,怎样解读Linux的文件系统与目录结构?
比起Windows,怎样解读Linux的文件系统与目录结构? Linux 和Windows的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习. 本文先对Window ...
- 比起 Windows,怎样解读 Linux 的文件系统与目录结构?
Linux 和 Windows 的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习. 本文先对 Windows 和 Linux 上面文件系统原理.组织概念进行区分, ...
- .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)
在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...
- (五)Linux之文件与目录管理以及文本处理
Linux之文件与目录管理 目录 Linux之文件与目录管理 前言 绝对路径与相对路径说明: 一.目录常用命令 常用处理目录的命令: 切换目录 cd 显示当前路径 pwd 查看目录下文件 ls 创建目 ...
- linux学习心得之目录树开端与/etc(图文)
linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...
- linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题]
linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题] 一.查看mysql是否已经安装 使用“whereis mysql”命令来查看mysql安装路径: [root@h ...
- 【转】一个 Vim 重度用户总结的 vim 超全指南
[转]一个 Vim 重度用户总结的 vim 超全指南 我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 ...
随机推荐
- axios+post获取并下载后台返回的二进制流
axios+post获取并下载后台返回的二进制流 let url = $.getCookie('prefixUrl')+'/expenseword/exportWords'; let vm = thi ...
- php的协程
有关迭代生成器的内容在这篇博客中 协程 协程的支持是在迭代生成器的基础上, 增加了可以回送数据给生成器的功能(调用者发送数据给被调用的生成器函数). 这就把生成器到调用者的单向通信转变为两者之间的双向 ...
- U盘被识别但不显示盘符怎么样才能解决?
很多朋友在将U盘插入电脑后,会发现右下角的任务栏虽然出现了U盘的图标,但是在我的电脑中并没有显示出U盘的盘符,也就无法继续对U盘进行操作.遇到这种情况该怎么办呢?下面好系统U盘启动就告诉大家相应的解决 ...
- Atmel芯片使用
ATMEL系列芯片 9X35 9G35可pin-to-pin替代9G10,具体需核对.此外即使pin-to-pin替代,外部应用也不一样. A5D2处理器,可支持linux/andriod. M7(M ...
- 适配器 1、ArrayAdapter 2.SimpleAdapter
1.ArrayAdapter(数组适配器):用于绑定格式单一的数据.数据源:可以是集合或数组 public class MainActivity extends AppCompatActivity { ...
- XML刚学会,怎么又出来个YAML!
XML(eXtensible Markup Language)可扩展标记语言,曾经是IT软件开发界,标记数据.定义数据的大哥大. 很多从事Spring的同学,没少花时间在写XML文件上吧? 不过随着时 ...
- LOAD DATA INFILE & mysqlimport
+++++++++++++++++++++++++++++++++++++++++++++mysqlimport++++++++++++++++++++++++++++++++++++++++++++ ...
- mysql random 字母大小写和数字
delimiter $$drop function if exists rand_string;create function rand_string(n int) returns varchar(2 ...
- for update的作用和用法
一.for update定义 for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它 ...
- nodejs基础一
Node.js是一个基于Chrome V8引擎的JavaScript运行. js的运行环境 运行js有两种: .js文件方式 交互(REPL): node 回车进入交互模式 .exit 退出交互模式 ...