ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vim命令

2019-06-30 11:01:50  阅读:117  来源: 互联网

标签:匹配 寄存器 vim 命令 查找 跳转 列表 光标


###########################################################################33 模式 ########################################################################################3
###################################### 普通模式下 ################3##############################
########## 窗口 ################
zz 重新绘制屏幕,并把当前行显示在屏幕中央

########## 查看 ###########################
K 查看当前光标所在处的单词的手册页
########## 移动 ########
h
j
k
l
home 去到行首
end 去到行尾
$ 去到行尾
b 去到字符串词首
gg 去到文件开头
{number}G 直接跳转到某行
########## 删除 #####################
dd 删除当前光标所在行
x 删除当前光标所在的字符,并且光标向向前进一位
cw 删除从光标位置到单词结尾间的字符,并进入插入模式
dw 删除从光标位置到单词结尾间的字符,不进入插入模式
db 删除从光标起始位置到代词开头的内容,不进入输入模式
daw delete a word
dap 删除当前所在段落
c 删除指定文本并进入插入模式
########## 查找与替换 ##############################

R 进入替换模式
/ 正向查询字符串
? 逆向查询字符串
f{char} 查找下一出指定字符出现的位置并把光标移动到字符处
; 与f{char}配合使用,重复查找上次F命令所查找到的字符
, 与f{char}配合使用,反向查找上次F命令所查找到的字符
* 查找当前光标下的字符
n 跳转到下一个匹配项
N 反向跳转到上一个匹配项
########## 格式控制 #############################
>G


########## 插入 ##################################3
i
I
a
A
s
cw 删除从光标位置到单词结尾间的字符,并进入插入模式
o(字母) 在当前光标所在行的下面新建一个新行,切换到新行,进入输入模式
<ctrl+v><code> code为要插入字符的编码,

########## 撤销 #################################################

u

 

########## 复合字符串 ################################
s 先删除光标下的字符,然后进入插入模式


########## 数值运算 ####################################
number<ctrl+a> 加法
number<ctrl+x> 减法
<ctrl+r>=<expression><backspace> 计算表达式的值并插入光标所在位置
########## 复制与粘贴 ######################################################
yy 复制当前行 (使用寄存器)
p 粘贴
J 将当前行与下一行连接起来
########## 进制问题 ########################
0开头的数字为8进制
0x开头的数字为16进制
ga 显示字符编码格式

 

########## VIM操作符命令 ###########################################
额外规则:当一个操作符被连续调用两次的时候,他会作用于当前行
操作符+动作命令=操作
c 修改
d 删除
y 复制到寄存器
g/~/vU 反转大小写
gu 转换为小写
gU 转换为大写
> 增加缩进
< 减小缩进
= 自动缩进
! 使用外部程序过滤所跨越的行
########### VIM动作命令 ############################################################
aw
ap
it 文本对象


################### 插入模式 #####################################
###### 删除 ############################
ctrl+h 删除前一个字符,相当于<backspace>
ctrl+w 删除前一个单词
ctrl+u 删除至行首

 

####### 返回普通模式 ##############################################2
<ESC> 切换到普通模式
ctrl+[ 切换到普通模式
ctrl+o 切换到插入-普通模式

################# 可视模式 ########################
v 激活面向字符的可视化模式
V 激活面向行的可视化模式
<ctrl+v> 激活面向块的可视化模式

gv 重选上一次由可视化模式选择的文本范围
o 切换到高亮选区的活动端
b 选区向前选择一个单词
e 选区向后选择一个单词

U 可视模式下的U相当于普通模式下的gU
r<char> 用cahr代替选区中的所有内容

c 删除选区内容,并进入插入模式,并且在退出后会将修改的文本添加到每一行
I 可视模式下的插入(光标前)
A 可视模式下的插入(光标后)
: 在可视模式下进入命令行会将表示范围的'<,'>预先填充到命令行上


################## 命令行模式 #####################################
: 切换到命令行模式
<ESC> 切换回普通模式
:noh 取消搜索之后的一直高亮模式
:edit 读写文件
:write 读写文件
:tabnew 创建标签页
:split 分割窗口
:prev 操作参数列表
:printf :p 显示指定范围的文字
:delete :d 删除指定行的文字
:next 操作参数列表
:bprev 操作缓冲区列表
:bnext 操作缓冲区列表
:[range]delete [x] 删除指定范围内的行【到寄存器X中】
:[range]yank [x] 复制指定范围的行【到寄存器中】
:[range]put [x] 在指定行后粘贴寄存器X中的内容
:[range]copy {address} :co :t 把指定范围内的行拷贝到{address}指定的行之下 (不使用寄存器)
:[range]move {address} 把指定范围内的行移动到{address}指定的行之下
:[range]join 连接指定范围内的行
:[range]normal {command} 对指定范围内的每一行执行普通模式命令{command}
:[range]substitude/{pattern}/{string}/[flags] 在指定范围内出现{pattern}的地方替换为{string}
:[range]global/{pattern}/[cmd] 对指定范围内匹配{pattern}的所有行执行Ex命令{cmd}
:@: 重复执行上次的Ex命令
:@@ 重复执行上一条命令
:u 撤销上一条命令行命令的影响
:<up> or <down> 类似bash,回溯历史命令
<ctrl+d> 命令补全 还可进行选项补全
<tab> 依次显示可以执行的命令 还可进行文件路补全
<s+tab> 反向遍历所有的可执行命令
<ctrl+r><ctrl+w> 复制光标下的单词并把他插入到命令行中
q: 进入命令行窗口模式
<ctrl+f> 把当前命令行命令映射到命令行窗口
########################## 运行shell命令 ########################
:!{cmd} 执行shell中的命令
当给此命令指定范围时,会将『range』指定行会传给{cmd}作为标准输入,然后会将{cmd}的输出覆盖『range』内原本的内容
:shell 启动一个交互的shell会话
:exit 退出此shell并返回vim
:read !{cmd} 把命令的标准输出重定向到缓冲器
:[range]write !{cmd} 把缓冲区的内容作为指定{cmg}的标准输入
区别于 :write! {cmd} 把缓冲区的内容写到一个名为{cmd}的文件,这里的!表示会覆盖原文件的内容
:[range]!filter 使用外部程序{dilter]过滤指定的『range』
#####################3#3##### 批量执行Ex命令 ##############################3##
:source {file} 执行vim脚本
:argdo source {file} 对参数列表里的每个文件执行{file}里面的Ex命令
##########################33# 自动补全EX命令 #################################


:set wildmode=... 设置自动补全的环境变量

 

############################ 地址的表达 ################################################
{start},{end} start行至end行
0 虚拟行,位于文件的第一行上面
1 文件的第一行
. 表示当前行
$ 表示文件最后一行
% 整个文件(:1,$的简写形式)
m 包含位置标记m的行
< 高亮选区的起始行
> 高亮选区的终止行
/{string}/./{string}/ 起始字符到终止字符
{address}+n 对地址进行便偏移
可视模式的选区
#####################################################################################3 文件 ##################################################################################
############################# 管理多个文件 #########################################
:ls 列出所有被载入内存中的缓冲区列表
% 指明那个缓冲区在当前窗口可见
# 代表轮换文件
<ctrl+r> 在当前文件与轮换文件间快速切换
:bnext 切换到列表中的下一个缓冲区
:bprev 切换到列表中的上一个缓冲区
:bfirst 跳到缓冲区列表的开头
:blast 跳到缓冲去列表的结尾
:buffer N :h N 直接按照编号跳转到相应的缓冲区
:bdelete N1 N2... 删除编号为N1,N2...的缓冲区
:M,N bdelete 删除编号从M到N的缓冲区列表
:args 显示参数列表(参数列表记录了在启动时作为参数传递给VIM的文件列表)(可以在任意时刻修改参数列表的值)
:args file 在参数列表中加入参数
* 匹配0个或多个字符(范围局限于指定的目录,不会递归子目录)
** 匹配0个或多个字符(可以递归进入指定目录的子目录)
:args '{command}' 把``内的命令的输出作为args的参数执行
:w[rite] 将缓冲区内容写入磁盘
:e[dit] 把磁盘文件内容写入缓冲区(即回滚所做修改)
:qa[ll] 关闭所有窗口,摈弃修改而无需警告
:wa[ll] 把所有改变的缓冲区写入磁盘:

:sp[lit] {file} <ctrl+w>s 水平切分当前窗口,并在新窗口中载入{file}
:vsp[lit] {file} <ctrl+w>v 垂直切分当前窗口,并在新窗口中载入{file}
<ctrl+w>w 在窗口间循环切换
<ctrl+w>h 切换到左边的窗口
<ctrl+w>j 切换到下面的窗口
<ctrl+w>k 切换到上面的窗口
<ctrl+w>l 切换到右面的窗口
:clo[se] 关闭活动窗口以及包含此窗口的标签页
:on[ly] 只保留活动窗口,关闭其他活动窗口

<ctrl+w>= 使所有窗口等宽等高
<ctrl+w>_ 最大化活动窗口的高度
<ctrl+w>| 最大化活动窗口的宽度
[N]<ctrl+w> 把活动窗口的高度设置为[N]行
[N]<ctrl+w> 把活动窗口的宽度设置为[N]列

:lcd {path} 设置当前窗口的本地工作目录 如果创建了一个新的标签页,并用:lcd命令切换到另一个目录,就可以将每个标签页限制在当前的工作目录(:lcd只影响当前窗口,而非当前标签页)
:windo lcd {path} 为所有这些窗口设置本地工作目录
:tabe[dit] {filename} 打开一个新的标签页
<ctrl+w>T 把当前窗口移动到一个新的标签页中
:tabc[lose] 关闭当前标签页
:tabo[nly] 只保留活动标签页关闭其他所有标签页
EX命令 普通命令
:tabn[ext] {N} {N}gt 切换到编号为N{的}标签页
:tabn[ext] gt 切换到下一个标签页
:tabp[revious] gT 切换到上一个标签页
:tabmove [N] 重新排列标签页,如果没有N,当前标签会被移动到结尾


############### 打开以及保存文件 #############################################
:edit {file} 通过文件的绝对路径与相对路径来打开文件
:edit % 这里的%表示活动缓冲区的完整文件目录
:edit %:h 这里的:h修饰符回去除文件名,但保留路径中的其他部分
:write 把缓冲区的内容写入磁盘
:pwd 打印工作目录
:find 允许通过文件名来打开一个文件,但无需输入该文件的完整路径,要想利用此功能,首先要配置‘path’选项
:set path+=/dir/** 把/dir/目录下面的所有文件添加到path里面,以','作为分割符
###################### 使用netrw(插件)管理文件系统 #####################
$ vim /dir/ 通过vim打开一个文件管理器窗口{h,j,k,l,/}
:edit /dir/ 在vim内部打开文件管理器窗口
:explore 打开文件管理器,并显示活动缓冲区所在目录
:Sexplore 水平切分窗口打开文件管理器
:Vexplore 垂直切分窗口打开文件管理器
<ctrl+^> 切换刚才正在编辑的文件


######################## 保存文件 ###########################
<ctrl+g> 显示当前文件的文件名与状态

 


###############################################################3####### 更快的移动及跳转 ############################################################################33
######################### 用命令动作在文档中移动 ########
:h motion.txt 列出动作命令的帮助文档
h
j
k
l
:gj :gk 按照屏幕行进行上下移动
0 移动到实际行的行首
:g0 移动到屏幕行的行首
^ 移动到实际行的第一个非空白字符
g^ 移动到屏幕行的第一个非空白字符
$ 移动到实际行的行尾
g$ 移动到屏幕行的行尾
w 正向移动到下一个单词的开头
W 以字串为单位操作
b 反向移动到当前单词/上一个单词的开头
B 以字串为单位操作
e 正向移动到当前单词/上一个单词的开头
E 以字串为单位操作
ge 反向移动到上一单词的结尾
gE 以字串为单位操作
f{char} 在光标位置与当前行的行尾查找字符串,如果找到就将光标移动到此字符上
F{char} 反向移动到上一个{char}所在之处
t{char} 正向移动到下一个{char}所在之处的前一个字符上
T{char} 反向移动到上一个{char}所在之处的后一个字符上
; 重复上次的字符查找命令
' 反向查找上次的字符查找命令
/{str}<cr> 通过查找命令快速跳转

 

############### 分割符文本对象 ####################33
文本对象 选择区域
a) ab 包含符号本身
a} aB 包含符号本身
a] 包含符号本身
a> 包含符号本身
a' 包含符号本身
a" 包含符号本身
a` 包含符号本身
at 包含符号本身


i) ib 不包含符号本身
i} iB 不包含符号本身
i] 不包含符号本身
i> 不包含符号本身
i' 不包含符号本身
i" 不包含符号本身
i` 不包含符号本身
it 不包含符号本身

iw 当前单词
aw 当前单词及一个空格
iW 当前字串
aW 当前字串及一个空格
is 当前句子
as 当前句子以及一个空格
ip 当前段落
ap 当前段落以及一个空行

:m{a~zA~Z} 用选定的字母标记当前光标所在位置
:‘{mark} 跳到光标所在的行并且把光标置在第一个非空白字符上
:`{mark} 跳到光标所在的行列
`` 当前文件中上次跳转动作之前的位置
`. 上次修改的位置
`^ 上次插入的位置
`[ 上次修改或复制的起始位置
`] 上次修改或复制的结束位置
`< 上次高亮选区的起始位置
`> 上次高亮选区的结束位置


% 在一组开闭括号间跳转
S{' " } ] } 把选中的文本用符号括起来


########################################################## 在文件间跳转 ######################################################3
:jumps 查看跳转列表的内容
[N]G 跳转到指定的行号
/pattern<CR>/?pattern<CR>/n/N 跳转到下一个/上一个模式出现之处
% 跳转到匹配的括号之处
(/) 跳转到上一句/下一句的开头
{/} 跳转到上一段/下一段的开头
H/M/L 跳转到屏幕上方/正中间/最下方
gf 跳转到光标的文件名下
gi 返回上次修改的地方继续编辑
<C-]> 跳转到光标下关键字的定义之处
‘{mark}/`{mark} 跳转到一个位置标记处,小写字母会创建局部于缓冲区的标记,大写字母则创建全局变量

<ctrl+i>
<ctrl+o>

:changes 查看改变列表
:g;/:g, 反向或正向遍历改变列表

set suffixesadd+=.c 为文件添加扩展名
E
suffixesadd path选项可以针对每一个缓冲区进行设置,因此可以对不同的文件类型来设置不同的值

:vimgrep /"string"/ path 在路径中查找string字符串
:grep
:make

 


###################################################################333 寄存器 ###############################################################################3
x x命令用于把光标下的字符剪切下来,把他放在无名寄存器中
dd 剪切当行文本并把他放到无名寄存器中
yy 复制当前行文本到无名寄存器中
p p命令把无名寄存器中的内容粘贴到光标后面,也可以在可视模式下替换高亮选区内容
P 将文本插入到光标的前面
gp 将文本插入到光标的后面
gP 将文本插入到光标的前面
"" 无名寄存器的表示
"a-"z/"A-"Z 有名寄存器,用小写字母引用有名寄存器回覆盖该寄存器的内容,用大写字母引用寄存器会将新内容添加到该寄存器的原有内容之后
"_ 黑洞寄存器
"0 复制专用寄存器
:reg {regester} 显示寄存器内的信息

#### 复制文本到外部区域
"+ 系统剪切版,可用剪切,复制粘贴命令操作
"* 主剪切板,保留上次被高亮选中的文本,可用鼠标中键粘贴出来
"= 表达式寄存器,当从此寄存器中读取内容时,VIM进入命令行模式,可以输入一段VIM脚本表达式并执行
#########隐式赋值寄存器(只读寄存器)#3
"% 当前文件名
"# 轮换文件名
". 上次插入的文本
": 上次执行的EX命令
"/ 上次查找的模式

######################### 宏 ##############3############
可以串行或者并行的方式执行宏
q{reg} 录制宏在指定寄存器中 再次按下q录制结束
q{REG} 添加宏在指定寄存器中
@{reg} 用来执行指定寄存器中的宏
@@ 重复最近调用的宏
[N]@{reg} 重复N次寄存器中的宏
:wall 保存缓冲列表中的所有文件
:wnext 相当于 :w+:next
:put {reg} 把寄存器中的内容粘贴到新的一行(当前行的光标之后)

###################################################################### 模式 ############################################################333333########################
############### 匹配 #################
ignorecse 是否忽略大小写的变量
/c 覆盖ignorecase,忽略大小写
/C 覆盖ignorecase,强制大小写检查
smartcase 智能的大小写敏感性检查,如果全部为小写,则忽略大小写,否则不忽略大小写
\v 该元字符会激活very magic搜索模式,即假定除_ 大小写字母以及数字之外的所有字符均具有特殊含义
\V 该元字符会激活very noagic搜索模式
\x 该字符类可以代替完整的字符集[0-9a-fA-F]
. 在VIM中匹配任意字符
() \1 任何()内部的匹配文本都会被自动保存到一个临时仓库中。可以用\1来引用这段被捕获的文本,\2 \3...则被用来对每个()捕获的子匹配
\_s 匹配空白符或换行符
< > 在very magic模式下,用<和>表示单词界定符
\w 匹配单词类字符,包括字母,数字,以及符号_
\W 用来匹配除单词类字符以外的其他字符串
* 正向查找光标下的单词
# 反向查找光标下的单词
g* 正向查找光标下的单词(不使用单词界定符)
g# 反向查找光标下的单词(不使用单词界定符)
查找与匹配的区别
\zs 标志着一个匹配的起始(零宽度)
\ze 标志着一个匹配的结束(零宽度)
/ (正向查找)查找结束符
? (反向查找)查找结束符
\ 在查找域中,一个\的出现预示着紧挨着他的后面的字符将会被特殊对待,如果将其加倍变成\\之后,前者会消除后者的特殊含义
################# 查找 #############33
warpscan 当检查到文件结尾时是否返回文本开头进行检查
/ 正向查找
? 反向查找
gn 进入面向字符的可视化模式,并选中下一次匹配并进行操作
gN 进入面向字符的可是花模式,并选中上一次匹配并进行操作
hlsearch 是否进行高亮匹配
:nohlsearch 暂时关闭查找高亮
incsearch 可以预览第一处匹配
<ctrl+r><ctrl+w> 用当前预览的匹配结果对查找域进行自动补全
/{string}/e /e表示用来结束匹配,并将光标放在string之后
/<UP> 显示上一次的查找历史
q/ 调出命令行窗口(查找历史)
:substitude 能够显示匹配的数量
:vimgrep 显示匹配的数量
/v^([^,]*),([^,]*),([^,]*) 子匹配
############### 替换 ##################
:[range]s[ubtitute]/{pattern}/{string}/[flags] 一条完整的substitute命令 [range]对于每一条EX命令均适用
[flags] effect
g 使substitute命令可以在全局范围内执行,实际上仅作用于当前行
c 有机会确认或者拒绝每一处修改(在每次修改前进行询问)
y 替换此处匹配
n 忽略此处匹配
q 退出替换过程
l 替换此处匹配后退出
a 替换此处与之后所有匹配
<ctrl-e> 向上滚动屏幕
<ctrl-y> 向下滚动屏幕
n 抑制正常的替换行为,即让vim不执行替换操作,只报告此次substitute命令匹配的个数
& 仅仅用来指示vim重用上一次substitute命令所使用的标志位
e 专门用来屏蔽错误提示
替换域中的特殊字符 描述
\r 插入一个换行符
\t 插入一个制表符
\\ 插入一个反斜杠
\1 插入第一个子匹配
\2 插入第二个子匹配(以此类推)
\0 插入匹配模式的所有内容
& 插入匹配模式的所有内容
- 使用上一次调用:substitute的[string]
\={VIM scripts} 执行vim的脚本表达式,并将结果替换为{string}
缺省情况下,substitute命令仅作用于当前行的第一个匹配处
g 标志位,貌似表示全文,实则只表示当前行
% 代表全文范围
c 标志位,控制是否继续实现相同的修改
y 替换此处匹配
n 忽略此处匹配
q 退出替换过程
l 替换此处匹配后退出
a 替换此处与之后的所有匹配
<ctrl+e> 向上滚动屏幕
<ctrl+y> 向下滚动屏幕

#当把查找域留空时,默认使用上一次的查找 这样使得我们可以先设置查找域在进行替换
<ctrl+r>{reg} 把寄存器的值插入到命令行
/= 只是VIM执行一段表达式文本
g& 在整个文件的范围重复上一次substitute命令
& 重复上一次sub命令(忽略上一次的标志位)
vimgrep 在工程范围内查找,并将返回的结果记录在quickfix列表中
:copen 打开quickfix列表浏览匹配结果

:set hidden 该设置项可以无需存盘就可以从某个被修改的文件中切换出去
:cfdo 在整个工程的范围内执行sub命令
:update 用于保存有过更改的文件
########################3### global命令 #############################3
:[range] global[!] /{partern}/ [range2]{cmd} :global命令的形式
默认情况下作用范围是整个文件
{pattern}如果留空的话会自动使用当前的查找模式
{cmd}如果不指定会默认使用:print
global[!]表示反向匹配
range2默认没有,使用前面的range,不过也可以单独设置

############################## ctags ##############################33
<ctrl+]> 光标会从当前所在的关键字跳转到它的定义处
<ctrl+t> 充当后退按钮
g<ctrl+]> 多次匹配的时候会从标签匹配列表挑出可选项供我们选择
:tselect 提示用户从标签匹配列表中选择一项进行跳转
:tprev 跳转到上一处匹配的标签
:tnext 跳转到下一处匹配的标签
:tfirst 跳转到第一处匹配的标签
:tlast 跳转到最后一处匹配的标签
:tag(keyword) 跳转到匹配关键字的第一处标签
:tjumo(keyword) 提示用户从匹配关键字的多次标签中指定一处进行跳转
:tag 正向遍历标签历史
:pop|<ctrl+t> 反向遍历标签历史


################################# quickfix ##########################
:cnext 跳转到下一项
:cprev 跳转到上一项
:cfirst 跳转到第一项
:clast 跳转到最后一项
:cnfile 跳转到下一个文件第一项
:cpfile 跳转到上一个文件的最后一项
:cc N 挑战到第N项
:copen 打开quickfix窗口
:cclose 关闭quickfix窗口
:cdo {cmd} 在quickfix列表中的每一行上执行{cmd}
:cfdo {cmd} 在quickfix列表中的每一个文件上执行一次{cmd}
:colder 回溯quickfix列表之前的某个版本 支持次数
:cnewer 从旧的的quickfix列表回到比较新的列表 支持次数
makeprg 改选项允许指定运行:make时调用的程序
errorformat 改选项控制错误信息显示格式
:compiler 激活一个编译器插件,它回设置‘makeprg’ ‘errorformat’选项


######################## grep vimgrep ####################
:grep 在vim内部调用grep并生成quickfix列表进行查询
grepprg 负责指定调用的shell程序
grepformat 指定VIM如何解析来自:grep命令的输出结果


###########################3 自动补全 ###########################3‘
<ctrl+n> 普通关键字
<ctrl+x><ctrl+i> 当前缓冲区关键字
<ctrl+x><ctrl+n> 包含文件关键字
<ctrl+x><ctrl+]> 标签文件关键字
<ctrl+x><ctrl+k> 字典查找
<ctrl+x><ctrl+l> 整行补全
<ctrl+x><ctrl+f> 文件名补全
<ctrl+x><ctrl+o> 全能(omni)补全
<ctrl+n> 使用来自补全列表的下一个匹配项
<ctrl+p> 使用来自补全列表的上一个匹配项
<Down> 使用来自补全列表的下一个匹配项
<Up> 使用来自补全列表的上一个匹配项
<ctrl+y> 确认使用当前选中的匹配项
<ctrl+e> 还原早先输入的文本(从自动补全中exit)
<ctrl+h> 从当前匹配中删除一个字符
<ctrl+l> 从当前匹配中增加一个字符
{char} 终止自动补全并插入字符串
cd - 切换到之前的工作目录
[s 在拼写错误间进行反向跳转
]s 在拼写错误间正向跳转
z= 获取VIM提供的更正建议列表
zg 把当前单词添加到拼写文件中
zw 把当前单词从拼写文件中删除
zug 撤销针对当前单词的zg和zw命令
<ctrl+x>s vim从光标位置进行反向扫描,直到发现一处拼写错误,然后根据建议创建单词列表并将他们显示在弹出菜单中

set setting! 反转当前设置项的状态
set setting? 查看当前设置项的状态
set setting& 将当前设置项的状态设为默认

标签:匹配,寄存器,vim,命令,查找,跳转,列表,光标
来源: https://www.cnblogs.com/chen1262567640/p/11108993.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有