vim的使用

vim有三中模式:命令模式,插入模式和末行模式

1.命令模式:

        在sell中启动vi时,最初就是进入到命令模式,此时从键盘上输入的任何字符都作为命令来解释,在其他模式下,按<Esc>键,就切换到命令模式。

2.插入模式

        插入模式主要用于输入文本,在命令模式下输入i,a等命令就可以进入插入模式。

3.末行模式

      在命令模式下,按<:  >键就进入末行模式,此时vi在窗口的最后一行显示一个“:”,并等待用户输入命令,在末行模式下,可以进行如:文件保存,退出,查找字符,文本替换,显示行号等操作。一条命令执行完毕,就会返回到命令模式。

4.启动v

  • vi                        :不指定文件名,在保存文件时需要指定文件名。
  • vi   文件名         :该文件既可以是已经存在的也可以是新建的。
  • vi   +n   文件名  :进入vi光标停止在第n行。
  • vi  +   文件名     :进入vi光标停在文件最后一行开始处。
  • vi   +/字符串    文件名: 进入vi,光标停在第一个字符串处。
  • 5.保存文件和退出vi
  • 在命令模式下按两次<Z>键,将保存并退出Vi. 或在末行模式下输入下面命令:
  • w    :保存当前正在编辑的文件,但不退出Vi.
  • w   文件名  :将当前文件的内容保存在新指定的文件中,如果已存在,产生错误,也不会退出Vi.
  • w!  文件名   ; 将当前文件的内容保存在新指定的文件中,如果指定的新文件已存在,则覆盖源文件,也不会退出Vi.
  • q      :不进行保存文件直接退出vi,如果文件改动过而没有保存将产生错误。
  • q!     :不保存修改后文件,强制退出vi,
  • wq  :保存并退出vi.

    在末行模式下,输入如下命令:
  • set  number 或
  • set nu 可以给每一行添加行号。

6.光标的移动

          1.在Vi的插入模式下,一般使用键盘的四个方向键来移动光标。

          2.在命令模式下,常用的方法有:

  • 0: 移动到当前行的行首。
  • $:移动到当前行的行尾。
  • 1G:移动到文件首行的行首。
  • G:移动到文件末行的行首。
  • nG:移动到文件第n行的行首。

7.文本的删除

        1.在插入模式下,用<Delete>键可以删除光标所在位置的一个字符,用<Backspace>键删除光标所在位置的前一个字符。

        2.在命令模式下常有下面的删除方法:

  • nx:删除从光标开始的n个字。
  • ndb:删除光标开始的前n个字。
  • d0:删除光标前一个字符到行首的所有字符。
  • d$:删除光标前一个字符到行尾的所有字符。
  • dd:删除光标所在的当前行。
  • ndd:删除从当前行开始的n行。
  • d(:删除从当前字符开始到句首的所有字符。
  • d):删除从当前字符开始到句尾的所有字符。
  • d{::删除从当前字符开始到段首的所有字符。
  • d}::删除从当前字符开始到段尾的所有字符

               如果要取消前一次操作,在命令模式下输入字符u即可;

8.文本的查找和替换

         在命令模式下,查找文本的方法:

  • ?string<Enter>:在命令模式下输入?和要查找的字符串如:string,并回车即可。
  • n:向文件头方向重复前一个查找命令。
  • N:向文件尾方向重复前一个查找命令。

       在命令模式下,替换文本的方法如下:

  • :s/oldstr/newstr:在当前行用newstr字符串替换oldstr字符串,只替换一次。
  • :s/oldstr/newstr/g:在当前行用newstr字符串替换所有的oldstr字符串。
  • :1,10s/oldstr/newstr/g:在第1-10行用newstr字符串替换所有的oldstr字符串。
  • :1,$s/oldstr/newstr/g:在整个文件中用newstr字符串替换所有的oldstr字符串。

9.文本的复制和粘帖

         复制是把指定内容复制到内存的一块缓冲区中,粘帖是把缓冲区的内容粘帖到光标所在位置。

         常用的方法:

  • yw:将光标所在位置到字尾的字符复制到缓冲区中。
  • nyw:将光标所在位置开始的n个字复制到缓冲区中,n为字数。
  • yb:从光标开始向左复制一个字。
  • nyb:从光标开始向左复制n个字,n为字数。
  • y0:复制从光标前一个字符到行首的所有字符。
  • y$:复制从光标开始到行尾的所有字符。
  • yy:复制光标所在的行。
  • nyy:复制从当前开始的n行,n为行号。
  • p:在光标所在位置的后面插入复制文本。
  • P:在光标所在位置的前面插入复制文本.
  • np:在光标所在位置的后面插入复制文本。共复制n次。
  • nP:在光标所在位置的后前插入复制文本。共复制n次。





这些只是Vi的常用功能,需要更多的可以百度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值