疯狂的键盘

爱软件爱开发

iPhone 输入法横评:7款主流iOS输入法深度对比

iPhone 输入法横评:7款主流iOS输入法深度对比 数据来源:Apple App Store(中国区),2026年3月29日实时查询 一、硬数据总览 输入法 App Store 评分 评分数量 安装包大小 最近更新 搜狗输入法 ⭐ 4.84 824 万 267 MB 2026-03-26 微信输入法 ⭐ 4.74 12.7 万 402 MB 2026-02-06 百度输入法 ⭐ 4.70 40 万 363 MB 2026-03-29 讯飞输入法 ⭐ 4.25 439 370 MB 2026-03-28 手心输入法 ⭐ 3.81 278 109 MB 2026-03-26 豆包输入法 ⭐ 3.70 1900 264 MB — 苹果自带键盘 — — 0(系统内置) 数据说明: 评分和安装包大小来自 iTunes Search API 实时查询 苹果自带键盘无独立评分,作为对照列入 讯飞输入法评分数量仅 439 条,可能是新版替换了旧版 App,评分被重置 豆包输入法 2025年11月底才上架 iOS,评分数据较少 二、评分分析 评分反映的是用户综合满意度。824万条评分的搜狗拿到 4.84,可信度非常高。微信输入法 12.7万条评分拿到 4.74,同样优秀。百度 40万条 4.70,稳定。 ...

2026年3月29日 · 3 分钟 · Jid

WinGet vs Chocolatey vs Scoop 全面对比指南

WinGet vs Chocolatey vs Scoop 全面对比指南 Windows 包管理器深度对比 · 2026年3月 一、引言 Linux 有 apt/yum,macOS 有 Homebrew,Windows 呢?目前有三个主流选择:微软官方的 WinGet、老牌的 Chocolatey、轻量的 Scoop。本文从设计理念、实际使用、进阶技巧到选型建议,帮你全面了解它们的差异。 二、一句话认识三者 包管理器 一句话概括 类比 WinGet 微软官方的包管理器,Windows 11 预装 类似 iPhone 自带 App Store Chocolatey 社区驱动的老牌包管理器,企业方案成熟 类似 Red Hat 的 yum,成熟但重 Scoop 为开发者设计的轻量安装器,无需管理员权限 类似 macOS 的 Homebrew 三、安装与首次体验 WinGet Windows 11 已预装。Windows 10 需确认 App Installer 已安装: winget --version 如果提示找不到命令,在 PowerShell 中执行: Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe Chocolatey 以管理员身份打开 PowerShell,执行: Set-ExecutionPolicy Bypass -Scope Process -Force [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) Scoop 普通用户权限即可,打开 PowerShell: ...

2026年3月29日 · 5 分钟 · Jid

Ubuntu一键安装及卸载LAMP

一键安装LAMP服务: sudo tasksel install lamp-server 一键卸载LAMP: sudo tasksel remove lamp-server 补充: LAMP = Linux+Apache+MySQL+PHP 通过上面的命令卸载Lamp时不免把Linux系统本身的东西卸载掉了,因此, 在卸载LAMP后一定记着更新一下系统: sudo apt-get update sudo apt-get upgrade 上面两条都要执行,切记! 参考资料:Ubuntu Skills

2015年5月10日 · 1 分钟 · Jid

声明模板类为友元类

如题,要将模板类(template class)声明为友元类,需要注意两点: (1)模板类本身的声明要足够早,我指的是在被声明为友元类之前就进行了模板类的声明。 比如: template<typename T> class AA { public: …… private: …… }; class BB { public: template<typename T> friend class AA; …… }; (2)友元类声明时的格式,应该是这样: template<typename T> friend class AA; AA是之前已经声明的模板类。 格式必须是这样,不然一定出错。 下面列出源代码,及源代码下载: //friend.h #include <iostream> using namespace std; template<typename T> class AA { public: AA(T vl):val(vl){}; void funcA(); private: T val; }; class BB { public: BB(int d=0):tmp(d){}; template<typename T> friend class AA; private: void funcB(); int tmp; }; template<typename T> void AA<T>::funcA() { BB bb(100); bb.funcB(); } void BB::funcB() { cout<< tmp <<endl; } //friendmain.cpp #include "friend.h" using namespace std; int main() { AA<int> aa(9); aa.funcA(); return 0; } //欢迎交流 备注: ...

2015年5月10日 · 1 分钟 · Jid

在Scite里用Astyle格式化代码

在 VC6.0 里很喜欢用 Alt+F8 的功能,它能够快速格式化代码,Scite中没有这个功能。今天看它的配置文件发现这么两行: command.name.0.*.cxx=Indent command.0.*.cxx=astyle -tapO $(FileNameExt) 用来缩进的? 查了一下 astyle, 原来我需要的就是这个功能.。 下载 astyle 最新版, 解压之后把bin目录下的 AStyle.exe 复制到C:/windows, 然后,修改一下配置文件 cpp.properties,(这一步可以忽略), 如下: command.name.0.*.cpp=Indent command.0.*.cpp=astyle --style=ansi $(FileNameExt) OK, 现在可以先选中文本然后Ctrl+0快速格式化代码了。 PS: 其实要在Scite里面使用Astyle工具,只需要在astyle官网astyle中下载一个可执行程序astyle.exe,然后放到搜索路径中,比如C:/windows, 即可。修改配置文件是为了让格式化更漂亮,这里推荐用 --style=ansi 格式。 AStyle安装使用可以阅读刚才下载文件里的相关文件(很详细)。 Astyle用法: astyle --style=ansi filename.c

2015年5月10日 · 1 分钟 · Jid

ubuntu remove and install Gui desktop

Ubuntu安装和卸载图形界面 通常的流程是这样:假如你已经默认安装了Gnome,现在想安装KDE或XFCE4,那么需要先卸载掉gnome,然后“在线”下载安装另一个桌面系统;如果你一开始用的是ubuntu-server版,直接安装就可以了,看下面。 卸载桌面 卸载gnome: sudo apt-get --purge remove liborbit2 sudo apt-get autoremove 卸载kde: sudo apt-get --purge remove kdelibs4c2a libarts1c2a sudo apt-get autoremove 卸载xfce4: sudo apt-get --purge remove kdelibs4c2a libarts1c2a sudo apt-get autoremove 安装桌面 安装gnome: sudo apt-get install ubuntu-desktop 安装kde: sudo apt-get install kubuntu-desktop 安装xfce4: sudo apt-get install xubuntu-desktop

2015年5月9日 · 1 分钟 · Jid

Vim 对中文编码的支持

1、支持中文编码的基础 Vim要更好地支持中文编码需要两个特性:+multi_byte和+iconv,可以用|:version|命令检查当前使用的Vim是否支持,否则的话需要重新编译。 2、影响中文编码的设置项 Vim中有几个选项会影响对多字节编码的支持: encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的Buffer、消息文字等。在Unix环境下,encoding的默认设置等于locale;Windows环境下会和当前代码页相同。在中文Windows环境下encoding的默认设置是cp936(GBK)。 fileencodings(fenc):Vim在打开文件时会根据fileencodings选项来识别文件编码,fileencodings可以同时设置多个编码,Vim会根据设置的顺序来猜测所打开文件的编码。 fileencoding(fencs) :Vim在保存新建文件时会根据fileencoding的设置编码来保存。如果是打开已有文件,Vim会根据打开文件时所识别的编码来保存,除非在保存时重新设置fileencoding。 termencodings(tenc):在终端环境下使用Vim时,通过termencoding项来告诉Vim终端所使用的编码。 3、Vim中的编码转换 Vim内部使用iconv库进行编码转换,如果这几个选项所设置的编码不一致,Vim就有可能会转换编码。打开已有文件时会从文件编码转换到encoding所设置的编码;保存文件时会从encoding设置的编码转换到fileencoding对应的编码。经常会看到Vim提示[已转换],这是表明Vim内部作了编码转换。终端环境下使用Vim,会从termencoding设置的编码转换到encoding设置的编码。 可以用|:help encoding-values|列出Vim支持的所有编码。 4、具体应用环境的设置 只编辑GBK编码的文件 set fileencodings=cp936 set fileencoding=cp936 set encoding=cp936 只编辑UTF-8编码的中文文件 set fileencodings=utf-8 set fileencoding=utf-8 set encoding=cp936 "或者 set encoding=utf-8 同时支持GBK和UTF-8编码 set fileencodings=ucs-bom,utf-8,cp936 set fileencoding=utf-8 set encoding=cp936 "或者 set encoding=utf-8 如果在终端环境下使用Vim,需要设置termencoding和终端所使用的编码一致。例如: set termencoding=cp936 "或者 set termencoding=utf-8 Windows记事本编辑UTF-8编码文件时会在文件头上加上三个字节的BOM:EFBBBF。如果fileencodings中设置ucs-bom的目的就是为了能够兼容用记事本编辑的文件,不需要的话可以去掉。Vim在保存UTF-8编码的文件时会去掉BOM。去掉BOM的最大好处是在Unix下能够使用cat a b>c来正确合并文件,这点经常被忽略。 5、FAQ 为什么在Vim中一次只能删除半个汉字? 因为encoding设置错误,把encoding设置为cp936就可以解决此问题。在Unix环境下Vim会根据locale来设置默认的encoding,如果没有正确设置locale并且没有设置encoding就会一次只能删除半个汉字。 VIM为什么不能输入繁体字? 把euc-cn或者GB2312改为cp936就可以了。euc-cn是GB2312的别名,不支持繁体汉字。cp936是GBK的别名,是GB2312的超集,可以支持繁体汉字。 VIM为什么提示不能转换? 因为在编译Vim时没有加入iconv选项,重新编译Vim才能解决。 如何打开一个GBK编码的文件并另存为UTf-8编码? 保存文件时运行命令|:set fileencoding=utf-8|就可以了。 From : CSDN Blog

2015年5月9日 · 1 分钟 · Jid

VIM查看文件编码、文件编码格式转换及文件名编码转换

如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。 Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。 下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容: set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。 文件编码转换 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 :set fileencoding=utf-8 iconv 转换,iconv的命令格式如下: iconv -f encoding -t encoding inputfile 比如将一个UTF-8 编码的文件转换成GBK编码 iconv -f GBK -t UTF-8 file1 -o file2 文件名编码转换: 从Linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。 在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。 首先看一下你的系统上是否安装了convmv,如果没安装的话用: yum -y install convmv 安装。 下面看一下convmv的具体用法: convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 --notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 --list 显示所有支持的编码 --unescap 可以做一下转义,比如把%20变成空格 比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下: ...

2015年5月9日 · 1 分钟 · Jid

把SciTe打造成更强大的程序员专用编辑器

SciTe是一款很小巧又很强大的编辑器,非常适合程序员使用。 大家了解Scite通常是因为使用AutoIt才间接知道Scite,其实,Scite的使用范围要广得多。 现在开始配置Scite,使得它更适合编写调试程序, (1)首先安装GCC编译器,并且把gcc程序放在path里 怎么安装gcc呢?可以安装MinGW,可以安装Dev-Cpp之类的包含gcc的IDE,关键是把gcc程序目录加入path (2)安装AStyle,代码格式化工具 参考本空间内文章:http://hi.baidu.com/linccn/blog/item/65916110da1f0566ca80c4ee.html 或许你已经安装了Astyle,但我用的是原版Scite,所以需要单独安装Astyle。 (3)编辑“选项”->“用户配置文件”或“本地配置文件”,加入以下代码: ################# #以下取自全局设置.properties ################# #括号匹配模式 #braces.sloppy=0 #默认文件名后缀 default.file.ext=.txt #代码自动补全 autocompleteword.automatic=1 #编辑窗口字体 font.base=font:Courier New,size:12 #使用等宽字体 font.monospace=font:Verdana,size:10 ################# #以下取自cpp.properties ################# #To make the Go command both compile(if needed) and execute, use this setting: #对C程序,运行脚本命令(即F5),可以在需要的时候先编译后执行,默认行为是只运行不编译。如果之前没有用Ctrl+F7编译过,则无法运行。 command.go.needs.*.c=gcc $(ccopts) -std=c99 $(FileNameExt) -o $(FileName)

2015年5月8日 · 1 分钟 · Jid

ubuntu 系统优化

解决ubuntu/linux打开网页慢、网速慢的问题 Ubuntu感觉网速慢,打开网页比较慢,主要是把时间浪费在域名解析上。我们可以用dnsmasq解决这问题。 安装dnsmasq 命令: sudo apt-get install dnsmasq 编辑dnsmasq的配置文件 命令: sudo gedit /etc/dnsmasq.conf 找到下面这一项 #resolv-file= 用下面的一条语句替换 resolv-file=/etc/resolv.dnsmasq.conf 确保你没有更改过/etc/resolv.conf文件,如果改过,恢复原状 然后执行命令 sudo cp /etc/resolv.conf /etc/resolv.dnsmasq.conf 然后编辑resolv.conf 命令 sudo gedit /etc/resolv.conf 将其中的域名服务器全部去掉,加入以下这行 nameserver 127.0.0.1 如果用路由上网也可以加上路由的地址 保存,退出 执行以下命令 sudo gedit /etc/ppp/peers/wvdial 在 usepeerdns 前面增加 # ,也就是把这条语句覆盖掉。 以防,resolv.conf的设置被pppoe覆盖。 重启电脑。不重启,你会发现无法解析域名。所以一定要重启电脑,来达到重新启动dnsmasq的目的。 重启后, 你会发现解析速度比以前快了很多. 利用sysv-rc-conf管理服务加快ubuntu/linux的启动速度 一、sysv-rc-conf简介 sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconfig好用。 二、背景知识 Ubuntu运行级别 Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。 Ubuntu 的系统运行级别: 0系统停机状态 1单用户或系统维护状态 2~5多用户状态 6重新启动 查看当前运行级别,执行命令: runlevel( runlevel 显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别。) 切换运行级别,执行命令: ...

2015年5月7日 · 2 分钟 · Jid