当前位置: 首页 > wzjs >正文

中文无版权图片网站过年做哪些网站能致富

中文无版权图片网站,过年做哪些网站能致富,网站开发需多少钱,建设银行短信开通网站Vim 脚本(Vimscript)提供了丰富的内置库函数,用于执行各种操作(如文件处理、字符串操作、数学计算等)。以下是常用库函数的分类介绍: 一、字符串处理函数 1. 字符串长度与子串 strlen(str) " 返回…

Vim 脚本(Vimscript)提供了丰富的内置库函数,用于执行各种操作(如文件处理、字符串操作、数学计算等)。以下是常用库函数的分类介绍:

一、字符串处理函数

1. 字符串长度与子串
strlen(str)      " 返回字符串长度
substitute(str, pattern, replace, flags)  " 替换字符串(类似 :s 命令)
submatch(n)      " 返回上次匹配的第 n 个捕获组
strpart(str, start, [length])  " 返回子串(从 start 开始,可选长度)
2. 字符串转换
toupper(str)     " 转换为大写
tolower(str)     " 转换为小写
escape(str, chars)  " 转义指定字符(如 escape(filename, '.'))
3. 字符串查找与分割
match(str, pattern)  " 返回匹配位置(失败返回 -1)
split(str, [pattern])  " 按模式分割字符串(默认按空白分割)
join(list, [sep])    " 连接列表为字符串(默认用空格连接)

二、文件与路径处理

1. 文件操作
readfile(filename)  " 读取文件内容到列表
writefile(list, filename)  " 将列表写入文件
filereadable(filename)  " 检查文件是否可读
filewritable(filename)  " 检查文件是否可写
2. 路径处理
expand(path)     " 展开特殊字符(如 % 表示当前文件)
fnamemodify(path, flags)  " 修改路径(如 :h 获取目录,:t 获取文件名)
getcwd()         " 获取当前工作目录
chdir(dir)       " 改变工作目录

三、列表与字典操作

1. 列表函数
len(list)        " 返回列表长度
add(list, item)  " 添加元素到列表末尾
remove(list, idx)  " 删除并返回指定索引的元素
sort(list)       " 对列表排序
reverse(list)    " 反转列表顺序
2. 字典函数
keys(dict)       " 返回字典的键列表
values(dict)     " 返回字典的值列表
has_key(dict, key)  " 检查字典是否包含某个键

四、缓冲区与窗口操作

1. 缓冲区函数
bufname(nr)      " 返回缓冲区编号对应的文件名
bufexists(nr)    " 检查缓冲区是否存在
getbufline(nr, lnum)  " 获取缓冲区指定行的内容
setbufline(nr, lnum, text)  " 设置缓冲区指定行的内容
2. 窗口函数
winnr()          " 返回当前窗口编号
winwidth(nr)     " 返回窗口宽度
winheight(nr)    " 返回窗口高度

五、数学与逻辑函数

1. 基本数学运算
abs(n)           " 绝对值
sqrt(n)          " 平方根
round(n)         " 四舍五入
floor(n)         " 向下取整
ceil(n)          " 向上取整
2. 随机数与时间
rand()           " 返回 0 到 RAND_MAX 之间的随机数
srand(seed)      " 设置随机数种子
localtime()      " 返回当前时间戳
strftime(format, [time])  " 格式化时间

六、系统与环境函数

1. 系统命令执行
system(cmd)      " 执行系统命令并返回输出
shellescape(str)  " 转义字符串用于 shell 命令
2. 环境变量
getenv(name)     " 获取环境变量值
setenv(name, value)  " 设置环境变量值

七、其他常用函数

1. 类型检查
type(expr)       " 返回表达式类型(0=数字,1=字符串,2=列表,3=字典)
isdirectory(path)  " 检查路径是否为目录
2. 条件与循环辅助
empty(expr)      " 检查表达式是否为空
exists(var)      " 检查变量是否存在
eval(expr)       " 执行表达式并返回结果
3. 错误处理
try                " 异常处理...
catch /pattern/...
finally...
endtry

八、示例:Vimscript 函数使用

1. 获取当前文件名(不含路径)
let filename = fnamemodify(expand("%"), ":t")
echo "当前文件: " . filename
2. 读取文件内容并统计行数
let lines = readfile("example.txt")
echo "文件共有 " . len(lines) . " 行"
3. 生成随机数并写入文件
let random_num = rand() % 100
call writefile([random_num], "random.txt")

九、查看函数文档

在 Vim 中,可以使用 :help 函数名 查看详细文档:

:help strlen       " 查看 strlen 函数帮助
:help file-functions  " 查看文件相关函数

通过这些内置函数,Vimscript 可以实现复杂的自动化操作,如文件处理、文本分析、插件开发等。熟练掌握这些函数是编写高效 Vim 脚本的关键。

在命令模式调用库函数

Vim 的库函数可以在命令模式中直接使用,但需要通过 :call:echo 命令来调用。以下是详细说明和示例:

一、在命令模式中调用函数的两种方式

1. 使用 :echo 打印函数返回值
:echo 函数名(参数)

示例

:echo strlen("hello")      " 输出字符串长度:5
:echo getcwd()             " 输出当前工作目录
:echo expand("%")          " 输出当前文件名
2. 使用 :call 执行无返回值的函数
:call 函数名(参数)

示例

:call writefile(["line1", "line2"], "test.txt")  " 写入文件
:call append(line("."), "new line")  " 在当前行后追加内容

二、常用库函数在命令模式中的应用

1. 字符串处理
:echo toupper("hello")     " 输出 "HELLO"
:echo substitute("foo bar", "bar", "baz", "")  " 输出 "foo baz"
2. 文件操作
:echo readfile("example.txt")  " 读取文件内容到列表
:call system("ls -l")          " 执行系统命令
3. 缓冲区与窗口
:echo bufname(0)            " 输出当前缓冲区文件名
:echo winwidth(0)           " 输出当前窗口宽度
4. 数学计算
:echo sqrt(16)              " 输出 4
:echo rand() % 10           " 生成 0-9 的随机数

三、结合命令使用函数返回值

1. 在替换命令中使用函数
:%s/old/\=strlen(submatch(0))/g  " 将所有 "old" 替换为其长度(3)
  • \= 表示后面跟随一个表达式(此处调用 strlen 函数)。
2. 在行范围中使用函数
:1,echo(line("$"))p  " 打印第 1 行到最后一行(line("$") 返回最后一行号)
3. 在变量赋值中使用函数
:let filename = fnamemodify(expand("%"), ":t")  " 获取当前文件名
:echo "处理文件: " . filename

四、注意事项

  1. 函数参数需用括号包围
    与 Vimscript 脚本不同,命令模式中调用函数必须使用括号:

    :echo strlen("hello")  " 正确
    :echo strlen "hello"   " 错误
    
  2. 复杂表达式需用 execute
    若命令中包含多个函数或复杂表达式,建议使用 execute

    :execute "g/" . escape("pattern", "/") . "/d"  " 安全删除包含特定模式的行
    
  3. 函数返回值类型

    • 字符串需用双引号包围(如 "hello")。
    • 列表和字典需用 []{} 表示(如 [1, 2, 3])。

五、示例场景

场景 1:统计当前文件行数
:echo line("$")  " 输出文件总行数
场景 2:将当前文件名写入缓冲区
:put =expand("%:t")  " 在当前位置插入文件名(不含路径)
场景 3:批量重命名文件
:!mv % :echo substitute(expand("%"), "\.txt", ".md", "")  " 将 .txt 改为 .md

总结

Vim 的库函数在命令模式中非常实用,可通过 :echo:call 灵活调用,实现复杂的文本处理和系统操作。熟练掌握函数调用是提升 Vim 效率的关键之一。


文章转载自:

http://EJHskP9x.dkqbc.cn
http://Wq2uyXou.dkqbc.cn
http://biXJZrvd.dkqbc.cn
http://B6yXL1wr.dkqbc.cn
http://zM0Y0ZPp.dkqbc.cn
http://k3ZJvVrj.dkqbc.cn
http://mQdTF86m.dkqbc.cn
http://I7BpIjnd.dkqbc.cn
http://eS0c14ym.dkqbc.cn
http://rf42HPTD.dkqbc.cn
http://SqRycgSO.dkqbc.cn
http://yKcOR7oP.dkqbc.cn
http://47TMnnAL.dkqbc.cn
http://YNAKTnMV.dkqbc.cn
http://HhaJrY6L.dkqbc.cn
http://0Pc29H0Q.dkqbc.cn
http://hmkAhx3A.dkqbc.cn
http://Sxza8PIA.dkqbc.cn
http://wODkVseC.dkqbc.cn
http://0ETAgEyS.dkqbc.cn
http://aJQXghuk.dkqbc.cn
http://fN2IAXTs.dkqbc.cn
http://pou8iQnS.dkqbc.cn
http://sc2LTn5D.dkqbc.cn
http://J50AM3TO.dkqbc.cn
http://IiB6Oa0B.dkqbc.cn
http://iejCcnVy.dkqbc.cn
http://xzm29O7s.dkqbc.cn
http://rftMArpf.dkqbc.cn
http://U1MeP9UT.dkqbc.cn
http://www.dtcms.com/wzjs/779466.html

相关文章:

  • 企业网站建设组织人员可行性分析哔哩网站开发需求分析模板
  • 如何做流量充值网站网站改版专题页
  • 湖南网站制作公司推荐如何做网站平台
  • 西安响应式网站建设服务提供商虚拟主机安装网站
  • 一帘幽梦紫菱做的网站市场调研报告内容
  • 大型网站一般用什么语言做的手机app开发公司排行
  • 属于教育主管部门建设的专题资源网站是极度简单wordpress主题
  • 网站首页导航怎么做二级导航网站内链接分析
  • 自己做的网站怎么放视频智能小程序是什么
  • 广州顺德网站设计ui和平面设计的区别
  • 网站统计开放平台河北互联网公司
  • 网站访问密码网站流量分析指标
  • 银川网站建设ctocio网站不备案打不开
  • 做网站的公司都有哪些网站演示程序
  • 浙江住建局官方网站python做网站设计
  • 网站开发简介广西城市建设学校学生网站
  • 企业网站cms平台网站应该怎样做seo
  • 什么网站程序好静态网站如何做自适应移动端
  • 大连制作网站软件免费代理ip的网站
  • 厦门网站建设哪家专业东莞百度seo排名
  • 不会做网站专业的佛山网站建设价格
  • 广东海外建设监理有限公司网站公众号运营策划书
  • 做淘宝美工的网站苏州网站建设kgu
  • 网站建设公司内幕互联网营销培训班 考证
  • 专业制作企业网站wap网站部署
  • thinkphp制作网站开发wordpress quiz
  • python可以做网站京东网上购物平台
  • 南宁建站模板厂家网件路由器做网站
  • 从化建网站电子商务公司设计网站建设
  • 关键词指数查询网站建设要哪些seo