<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>emacs &#8211; 编码无悔 /  Intent &amp; Focused</title>
	<atom:link href="https://www.codelast.com/tag/emacs/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.codelast.com</link>
	<description>最优化之路</description>
	<lastBuildDate>Wed, 31 May 2023 02:41:54 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>[原创] 设置Emacs打开一个文件时的&quot;文件太大&quot;警告阈值</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e8%ae%be%e7%bd%aeemacs%e6%89%93%e5%bc%80%e4%b8%80%e4%b8%aa%e6%96%87%e4%bb%b6%e6%97%b6%e7%9a%84%e6%96%87%e4%bb%b6%e5%a4%aa%e5%a4%a7%e8%ad%a6%e5%91%8a%e9%98%88%e5%80%bc/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e8%ae%be%e7%bd%aeemacs%e6%89%93%e5%bc%80%e4%b8%80%e4%b8%aa%e6%96%87%e4%bb%b6%e6%97%b6%e7%9a%84%e6%96%87%e4%bb%b6%e5%a4%aa%e5%a4%a7%e8%ad%a6%e5%91%8a%e9%98%88%e5%80%bc/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Mon, 24 Apr 2023 03:56:36 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[large file warning]]></category>
		<category><![CDATA[文件太大警告]]></category>
		<guid isPermaLink="false">https://www.codelast.com/?p=13891</guid>

					<description><![CDATA[<div>
	每次用emacs打开一个比较大的文件时，它都提示：</div>
<blockquote>
<div>
		File xxx is large (XXXMB), really open? (y or n)</div>
</blockquote>
<div>
	此时必须要按 y 才能继续打开此文件。</div>
<div>
	有没有办法调整这个文件大小的阈值，从而让它不那么烦人？<br />
	<span id="more-13891"></span><br />
	方法是：修改 ~/.emacs 文件，在里面添加如下配置：
<blockquote>
<div>
			;; set large file warning&#160;threshold when opening it</div>
<div>
			(setq large-file-warning-threshold (* 1024 1024 1024))</div>
</blockquote>
<p>	这表示当文件&#62;1GB时才会提示&#8220;文件太大&#8221;的警告，不超过1GB的文件直接就打开了，不需要用户按 y 确认。</p>
<p>
		<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
		<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;版权声明&#160;<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;<br />
		转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u></p></div>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e8%ae%be%e7%bd%aeemacs%e6%89%93%e5%bc%80%e4%b8%80%e4%b8%aa%e6%96%87%e4%bb%b6%e6%97%b6%e7%9a%84%e6%96%87%e4%bb%b6%e5%a4%aa%e5%a4%a7%e8%ad%a6%e5%91%8a%e9%98%88%e5%80%bc/" class="read-more">Read More </a>]]></description>
										<content:encoded><![CDATA[<div>
	每次用emacs打开一个比较大的文件时，它都提示：</div>
<blockquote>
<div>
		File xxx is large (XXXMB), really open? (y or n)</div>
</blockquote>
<div>
	此时必须要按 y 才能继续打开此文件。</div>
<div>
	有没有办法调整这个文件大小的阈值，从而让它不那么烦人？<br />
	<span id="more-13891"></span><br />
	方法是：修改 ~/.emacs 文件，在里面添加如下配置：</p>
<blockquote>
<div>
			;; set large file warning&nbsp;threshold when opening it</div>
<div>
			(setq large-file-warning-threshold (* 1024 1024 1024))</div>
</blockquote>
<p>	这表示当文件&gt;1GB时才会提示&ldquo;文件太大&rdquo;的警告，不超过1GB的文件直接就打开了，不需要用户按 y 确认。</p>
<p>
		<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
		<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
		转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
		感谢关注我的微信公众号（微信扫一扫）：<br />
		<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="color: rgb(77, 77, 77); font-size: 13px; width: 200px; height: 200px;" /><br />
		以及我的微信视频号：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
		<img decoding="async" alt="" src="https://www.codelast.com/wechat_shipinhao_qr_code.jpg" style="text-align: center; width: 200px; height: 199px;" /></p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e8%ae%be%e7%bd%aeemacs%e6%89%93%e5%bc%80%e4%b8%80%e4%b8%aa%e6%96%87%e4%bb%b6%e6%97%b6%e7%9a%84%e6%96%87%e4%bb%b6%e5%a4%aa%e5%a4%a7%e8%ad%a6%e5%91%8a%e9%98%88%e5%80%bc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[原创] Protocol Buffers的Emacs语法高亮</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-protocol-buffers%e7%9a%84emacs%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-protocol-buffers%e7%9a%84emacs%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Thu, 13 Aug 2015 03:26:28 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[Protocol Buffers]]></category>
		<category><![CDATA[语法高亮]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=8519</guid>

					<description><![CDATA[<p>
让Emacs支持Protocol Buffers文件的语法高亮，很简单，首先下载<a href="https://raw.githubusercontent.com/dylanvaughn/emacs/master/lib/protobuf-mode.el" target="_blank" rel="noopener noreferrer"><span style="background-color:#ffa07a;">这个</span></a>文件：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
wget https://raw.githubusercontent.com/dylanvaughn/emacs/master/lib/protobuf-mode.el
</pre>
<p><span id="more-8519"></span><br />
其次把它放到某个你常用的Emacs配置文件加载目录下，例如我放到了 home 目录下：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
mv protobuf-mode.el ~/.protobuf-mode.el
</pre>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
然后在.emacs配置文件中配置：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(load-file &#34;~/.protobuf-mode.el&#34;)
(setq auto-mode-alist  (cons &#39;(&#34;.proto$&#34; . protobuf-mode) auto-mode-alist))
</pre>
<p>仅有第一句不够，第二句是让Emacs以 protobuf-mode&#160;打开所有.proto后缀的文件。</p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;版权声明&#160;<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&#160;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushShell.js"></script>
<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']</script>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-protocol-buffers%e7%9a%84emacs%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae/" class="read-more">Read More </a>]]></description>
										<content:encoded><![CDATA[<p>
让Emacs支持Protocol Buffers文件的语法高亮，很简单，首先下载<a href="https://raw.githubusercontent.com/dylanvaughn/emacs/master/lib/protobuf-mode.el" target="_blank" rel="noopener noreferrer"><span style="background-color:#ffa07a;">这个</span></a>文件：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
wget https://raw.githubusercontent.com/dylanvaughn/emacs/master/lib/protobuf-mode.el
</pre>
<p><span id="more-8519"></span><br />
其次把它放到某个你常用的Emacs配置文件加载目录下，例如我放到了 home 目录下：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
mv protobuf-mode.el ~/.protobuf-mode.el
</pre>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
然后在.emacs配置文件中配置：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(load-file &quot;~/.protobuf-mode.el&quot;)
(setq auto-mode-alist  (cons &#39;(&quot;.proto$&quot; . protobuf-mode) auto-mode-alist))
</pre>
<p>仅有第一句不够，第二句是让Emacs以 protobuf-mode&nbsp;打开所有.proto后缀的文件。</p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushShell.js"></script>
<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-protocol-buffers%e7%9a%84emacs%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[原创] Emacs文章合集</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs%e6%96%87%e7%ab%a0%e5%90%88%e9%9b%86/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs%e6%96%87%e7%ab%a0%e5%90%88%e9%9b%86/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Fri, 28 Mar 2014 16:55:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[tree mode]]></category>
		<category><![CDATA[tree view]]></category>
		<category><![CDATA[使用]]></category>
		<category><![CDATA[总结]]></category>
		<category><![CDATA[树形]]></category>
		<category><![CDATA[树状]]></category>
		<category><![CDATA[资源管理器]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=7988</guid>

					<description><![CDATA[<p>转载请注明出处：<strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;"><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 0, 0);">http://www.codelast.com/</span></a></span></strong></p>
<p>文章越来越多，越来越不好查询了，只能一点点归类。</p>
<p><span style="background-color:#00ff00;">➤&#160;</span><a href="http://www.codelast.com/?p=4802" rel="noopener noreferrer" target="_blank">Emacs on Windows初步实践</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span><a href="http://www.codelast.com/?p=7980" rel="noopener noreferrer" target="_blank">在Emacs中使用树形&#8220;资源管理器&#8221;&#8212;&#8212;emacs-nav</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span><a href="http://www.codelast.com/?p=7971" rel="noopener noreferrer" target="_blank">在Emacs中使用树形&#8220;资源管理器&#8221;&#8212;&#8212;Sr Speedbar</a><br />
<span id="more-7988"></span><br />
<span style="background-color: rgb(0, 255, 0);">➤&#160;</span>配置Emacs自动完成/自动补全：<a href="http://www.codelast.com/?p=4945" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第6条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span><a href="http://www.codelast.com/?p=159" rel="noopener noreferrer" target="_blank">Emacs解除read-only的buffer锁定</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span>在Emacs中显示UTF-8编码的文件内容/显示中文：<a href="http://www.codelast.com/?p=4048" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第13条<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color: rgb(0, 255, 0);">➤&#160;</span>在Xshell终端里启用Emacs的Meta key：<a href="http://www.codelast.com/?p=4048" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第14条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span>使Emacs不要生成临时文件：<a href="http://www.codelast.com/?p=3645" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第1条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span>为Emacs自定义&#8220;跳到指定行&#8221;的快捷键 &#38; &#8220;替换字符串&#8221;的快捷键：<a href="http://www.codelast.com/?p=3645" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第19条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span>CEDET的安装及基本配置：<a href="http://www.codelast.com/?p=151" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第39条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span>Emacs启动时报错&#8220;Wrong type argument: stringp&#8221;的解决办法：<a href="http://www.codelast.com/?p=151" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第54条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&#160;</span><a href="http://www.codelast.com/?p=8337" rel="noopener noreferrer" target="_blank">解决找不到emacsclient命令的问题 / Solve the emacsclient: command not found problem</a><br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs%e6%96%87%e7%ab%a0%e5%90%88%e9%9b%86/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>转载请注明出处：<strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;"><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 0, 0);">http://www.codelast.com/</span></a></span></strong></p>
<p>文章越来越多，越来越不好查询了，只能一点点归类。</p>
<p><span style="background-color:#00ff00;">➤&nbsp;</span><a href="http://www.codelast.com/?p=4802" rel="noopener noreferrer" target="_blank">Emacs on Windows初步实践</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span><a href="http://www.codelast.com/?p=7980" rel="noopener noreferrer" target="_blank">在Emacs中使用树形&ldquo;资源管理器&rdquo;&mdash;&mdash;emacs-nav</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span><a href="http://www.codelast.com/?p=7971" rel="noopener noreferrer" target="_blank">在Emacs中使用树形&ldquo;资源管理器&rdquo;&mdash;&mdash;Sr Speedbar</a><br />
<span id="more-7988"></span><br />
<span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>配置Emacs自动完成/自动补全：<a href="http://www.codelast.com/?p=4945" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第6条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span><a href="http://www.codelast.com/?p=159" rel="noopener noreferrer" target="_blank">Emacs解除read-only的buffer锁定</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>在Emacs中显示UTF-8编码的文件内容/显示中文：<a href="http://www.codelast.com/?p=4048" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第13条<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>在Xshell终端里启用Emacs的Meta key：<a href="http://www.codelast.com/?p=4048" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第14条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>使Emacs不要生成临时文件：<a href="http://www.codelast.com/?p=3645" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第1条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>为Emacs自定义&ldquo;跳到指定行&rdquo;的快捷键 &amp; &ldquo;替换字符串&rdquo;的快捷键：<a href="http://www.codelast.com/?p=3645" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第19条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>CEDET的安装及基本配置：<a href="http://www.codelast.com/?p=151" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第39条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>Emacs启动时报错&ldquo;Wrong type argument: stringp&rdquo;的解决办法：<a href="http://www.codelast.com/?p=151" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此文</span></a>第54条</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span><a href="http://www.codelast.com/?p=8337" rel="noopener noreferrer" target="_blank">解决找不到emacsclient命令的问题 / Solve the emacsclient: command not found problem</a><br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span><a href="https://www.codelast.com/?p=13891" rel="noopener" target="_blank">设置Emacs打开一个文件时的&quot;文件太大&quot;警告阈值</a></p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>批量注释多行：先按 CTRL+@ 开始区域选择，再按上下左右键选中要注释的多行内容，最后按 Alt+; 即可批量注释掉选中的行</p>
<p><span style="background-color: rgb(0, 255, 0);">➤&nbsp;</span>To be added...</p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs%e6%96%87%e7%ab%a0%e5%90%88%e9%9b%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[原创] 在Emacs中使用树形“资源管理器”——Sr Speedbar</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-sr-speedbar/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-sr-speedbar/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Fri, 28 Mar 2014 16:29:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[resource manager]]></category>
		<category><![CDATA[Sr Speedbar]]></category>
		<category><![CDATA[tree mode]]></category>
		<category><![CDATA[tree view]]></category>
		<category><![CDATA[树形]]></category>
		<category><![CDATA[树状]]></category>
		<category><![CDATA[资源管理器]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=7971</guid>

					<description><![CDATA[<p>
<span style="background-color:#00ff00;">『1』</span>下载<br />
使用<a href="http://www.emacswiki.org/emacs/SrSpeedbar" target="_blank" rel="noopener noreferrer"><span style="background-color:#ffa07a;">Sr Speedbar</span></a>可以在Emacs中&#8220;造&#8221;出一个树形资源管理器。在<a href="http://www.emacswiki.org/emacs/sr-speedbar.el" target="_top" rel="noopener noreferrer"><span style="background-color:#ffa07a;">这个</span></a>页面下载到&#160;sr-speedbar.el（若链接已失效，请自行搜索）。</p>
<p><span style="background-color:#00ff00;">『2』</span>创建一个Emacs的load path<br />
我在我放置Emacs插件的总目录 ~/.emacs.d/ 下创建了一个&#8220;extra&#8221;目录，用于放置其他我自己下载的插件，于是我把上面下载的 sr-speedbar.el&#160;也放到这个extra目录下了。<br />
<span id="more-7971"></span><br />
<span style="background-color:#00ff00;">『3』</span>配置Emacs<br />
修改 ~/.emacs 文件，添加如下两行：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-to-list &#39;load-path &#34;~/.emacs.d/extra/&#34;)
(require &#39;sr-speedbar)
</pre>
<p>其中，第一句是将上面创建的extra目录加入到load-path中，这样Emacs启动时就会从extra目录加载插件。<br />
第二句是加载 Sr Speedbar 插件。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">『4』</span>使用<br />
非常简单。进入Emacs，输入：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
M - x sr-speedbar-
</pre>
<p>然后按TAB进行自动补全，即可显示 Sr Speedbar 的全部命令。或参考官方网页获取全部命令。<br />
最主要的命令就是&#160;sr-speedbar-open 了，执行之后，会在窗口右边打开一个树形结构的资源管理器，把光标移动到其中，在哪一项上按回车，就可以打开哪一个文件/目录。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-sr-speedbar/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>
<span style="background-color:#00ff00;">『1』</span>下载<br />
使用<a href="http://www.emacswiki.org/emacs/SrSpeedbar" target="_blank" rel="noopener noreferrer"><span style="background-color:#ffa07a;">Sr Speedbar</span></a>可以在Emacs中&ldquo;造&rdquo;出一个树形资源管理器。在<a href="http://www.emacswiki.org/emacs/sr-speedbar.el" target="_top" rel="noopener noreferrer"><span style="background-color:#ffa07a;">这个</span></a>页面下载到&nbsp;sr-speedbar.el（若链接已失效，请自行搜索）。</p>
<p><span style="background-color:#00ff00;">『2』</span>创建一个Emacs的load path<br />
我在我放置Emacs插件的总目录 ~/.emacs.d/ 下创建了一个&ldquo;extra&rdquo;目录，用于放置其他我自己下载的插件，于是我把上面下载的 sr-speedbar.el&nbsp;也放到这个extra目录下了。<br />
<span id="more-7971"></span><br />
<span style="background-color:#00ff00;">『3』</span>配置Emacs<br />
修改 ~/.emacs 文件，添加如下两行：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-to-list &#39;load-path &quot;~/.emacs.d/extra/&quot;)
(require &#39;sr-speedbar)
</pre>
<p>其中，第一句是将上面创建的extra目录加入到load-path中，这样Emacs启动时就会从extra目录加载插件。<br />
第二句是加载 Sr Speedbar 插件。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">『4』</span>使用<br />
非常简单。进入Emacs，输入：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
M - x sr-speedbar-
</pre>
<p>然后按TAB进行自动补全，即可显示 Sr Speedbar 的全部命令。或参考官方网页获取全部命令。<br />
最主要的命令就是&nbsp;sr-speedbar-open 了，执行之后，会在窗口右边打开一个树形结构的资源管理器，把光标移动到其中，在哪一项上按回车，就可以打开哪一个文件/目录。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
使用截图如下所示：</p>
<div style="text-align: center;">
	<img decoding="async" alt="emacs sr speedbar screenshot" src="http://www.codelast.com/wp-content/uploads/ckfinder/images/emacs-sr-speedbar-screenshot.png" style="width: 579px; height: 189px;" /></div>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">『5』</span>感受<br />
树形资源管理窗口显示在右边，不如左边方便（因人而异），而且某些目录下的文件（非隐藏的）竟然无法显示&mdash;&mdash;只显示子目录，也不知道Sr Speedbar抽了什么风。所以整体感觉不好。<br />
如上图所示，本来&ldquo;article&rdquo;目录下有三个 .txt 文件，一个子目录&ldquo;test-directory&rdquo;，但是它只显示了&ldquo;test-directory&rdquo;，没有显示三个 .txt 文件。</p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-sr-speedbar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[原创] 在Emacs中使用树形“资源管理器”——emacs-nav</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-emacs-nav/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-emacs-nav/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Fri, 28 Mar 2014 13:58:57 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[emacs-nav]]></category>
		<category><![CDATA[Nav]]></category>
		<category><![CDATA[resource manager]]></category>
		<category><![CDATA[tree mode]]></category>
		<category><![CDATA[tree view]]></category>
		<category><![CDATA[树形]]></category>
		<category><![CDATA[树状]]></category>
		<category><![CDATA[资源管理器]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=7980</guid>

					<description><![CDATA[<p>
<span style="background-color: rgb(0, 255, 0);">『1』</span>下载<br />
项目主页：https://code.google.com/p/emacs-nav/</p>
<p><span style="background-color:#00ff00;">『2』</span>安装<br />
解压下载到的安装包，并将其拷贝到一个自己创建的Emacs load-path中：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
tar zxf emacs-nav-49.tar.gz
cd emacs-nav-49/
mkdir ~/.emacs.d/emacs-nav/
cp * ~/.emacs.d/emacs-nav/
</pre>
<p>其中，~/.emacs.d/emacs-nav/ 是我为emacs-nav自己创建的一个目录。<br />
<span id="more-7980"></span><br />
<span style="background-color:#00ff00;">『3』</span>配置Emacs<br />
修改 ~/.emacs 文件，添加如下内容：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-to-list &#39;load-path &#34;~/.emacs.d/emacs-nav/&#34;)
(require &#39;nav)
(nav-disable-overeager-window-splitting)
;; Optional: set up a quick key to toggle nav
(global-set-key [f8] &#39;nav-toggle)
</pre>
<p>其中，最后一句是设置F8为快捷键，按F8就可以切换 显示/不显示 emacs-nav 的树形导航窗口。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-emacs-nav/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>
<span style="background-color: rgb(0, 255, 0);">『1』</span>下载<br />
项目主页：https://code.google.com/p/emacs-nav/</p>
<p><span style="background-color:#00ff00;">『2』</span>安装<br />
解压下载到的安装包，并将其拷贝到一个自己创建的Emacs load-path中：</p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
tar zxf emacs-nav-49.tar.gz
cd emacs-nav-49/
mkdir ~/.emacs.d/emacs-nav/
cp * ~/.emacs.d/emacs-nav/
</pre>
<p>其中，~/.emacs.d/emacs-nav/ 是我为emacs-nav自己创建的一个目录。<br />
<span id="more-7980"></span><br />
<span style="background-color:#00ff00;">『3』</span>配置Emacs<br />
修改 ~/.emacs 文件，添加如下内容：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-to-list &#39;load-path &quot;~/.emacs.d/emacs-nav/&quot;)
(require &#39;nav)
(nav-disable-overeager-window-splitting)
;; Optional: set up a quick key to toggle nav
(global-set-key [f8] &#39;nav-toggle)
</pre>
<p>其中，最后一句是设置F8为快捷键，按F8就可以切换 显示/不显示 emacs-nav 的树形导航窗口。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">『4』</span>使用<br />
按 <span style="color:#0000ff;">F8</span> 可切换 显示/不显示 树形导航窗口。也可用 <span style="color:#0000ff;">M-x nav</span> 调出树形导航窗口。<br />
使用截图如下所示：</p>
<div style="text-align: center;">
	<img decoding="async" alt="emac nav screenshot" src="http://www.codelast.com/wp-content/uploads/ckfinder/images/emacs-nav-screenshot.png" style="width: 557px; height: 330px;" /></div>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">『5』</span>感受<br />
简约，易配置，很好用，强烈推荐。</p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushShell.js"></script>
<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-%e5%9c%a8emacs%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a0%91%e5%bd%a2%e8%b5%84%e6%ba%90%e7%ae%a1%e7%90%86%e5%99%a8-emacs-nav/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[原创] Emacs on Windows初步实践</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs-on-windows%e5%88%9d%e6%ad%a5%e5%ae%9e%e8%b7%b5/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs-on-windows%e5%88%9d%e6%ad%a5%e5%ae%9e%e8%b7%b5/#comments</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Thu, 02 Aug 2012 07:23:14 +0000</pubDate>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[emacs]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=4802</guid>

					<description><![CDATA[<p>
Emacs是个好东西，最近我在Windows下也用起了Emacs，是因为有很多特定类型文件的语法高亮显示很好用，例如<a href="http://www.codelast.com/?p=4550" rel="noopener noreferrer" target="_blank">Apache Pig文件</a>，Thrift文件在Emacs中都有了现成的语法高亮支持，等等，如果你用Notepad++等文本编辑器就必须自己编写语法高亮规则了（会累死你）。<br />
<span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a><br />
下面记录一下Emacs Windows版从安装到基础配置的过程。<br />
<span id="more-4802"></span><br />
<span style="background-color: rgb(0, 255, 0); ">（1）</span>下载，安装<br />
下载：在<a href="http://ftp.gnu.org/gnu/emacs/windows/" rel="noopener noreferrer" target="_blank"><span style="color:#0000ff;">这个</span></a>链接中，找最新版的下载，例如我下载的是emacs-24.1-bin-i386.zip。<br />
安装：其实把压缩包解压出来就可以了，谁都会。解压出来之后，运行一次bin目录下的addpm.exe &#8212;&#8212;它的作用是添加启动菜单和修改注册表。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（2）</span>配置主目录<br />
这是Windows版的Emacs比Linux版的Emacs要麻烦的地方之一。<br />
我们需要手工修改注册表。定位到注册表的&#160;<span style="color:#0000ff;">HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs</span> 处，如果没有则手工一级级添加。新建一个&#8220;字符串值&#8221;，名为&#8220;<span style="color:#b22222;">HOME</span>&#8221;（不含引号），值为你的Emacs安装目录，例如&#8220;C:/emacs&#8221;。这样就设置好了Emacs的主目录。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（3）</span>运行Emacs<br />
运行bin目录下的 runemacs.exe 可启动Emacs。<br />
启动后，点击&#8220;Options&#8221;菜单，修改一个简单的设置，然后点击&#8220;<span style="color:#0000ff;">Save Options</span>&#8221;，Emacs就会在安装目录下生成&#160;.emacs.d 目录以及&#160;.emacs 文件。如果没有在安装目录下生成（例如，我在64位Win7下使用32位的Emacs就遇到了这样的问题），那么请检查是否生成在了这个目录下：<br />
<span style="color:#0000ff;">C:\Users\</span><span style="color:#b22222;">用户名</span><span style="color:#0000ff;">\AppData\Roaming\</span><br />
如果有，那么就把这个目录当作配置文件目录就行了。<br />
我们知道&#160;.emacs 文件是最重要的Emacs配置文件之一，我们可以在里面定义Emacs的快捷键等。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（4）</span>配置Pig语法高亮以及Thfirt文件语法高亮支持<br />
如果你使用<a href="http://www.codelast.com/?p=4550" rel="noopener noreferrer" target="_blank">Apache Pig</a>或<a href="http://thrift.apache.org/" rel="noopener noreferrer" target="_blank">Apache Thrift</a>，那么你一定需要Emacs的语法高亮支持。为了给大家提供方便，我直接在这里提供语法高亮定义文件的压缩包，点击<a href="http://www.codelast.com/wp-content/uploads/2012/08/pig_and_thrift_emacs_highlight.zip" rel="noopener noreferrer" target="_blank">此处</a>下载。如果你要查看原版出处，请分别点击<a href="https://github.com/cloudera/piglatin-mode" rel="noopener noreferrer" target="_blank"><span style="color:#b22222;">这个链接</span></a>（Pig）和<a href="https://gist.github.com/770490" rel="noopener noreferrer" target="_blank"><span style="color:#b22222;">这个链接</span></a>（Thrift）。<br />
将此压缩包解压到Emacs安装目录下，生成两个文件：.piglatin.el&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs-on-windows%e5%88%9d%e6%ad%a5%e5%ae%9e%e8%b7%b5/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>
Emacs是个好东西，最近我在Windows下也用起了Emacs，是因为有很多特定类型文件的语法高亮显示很好用，例如<a href="http://www.codelast.com/?p=4550" rel="noopener noreferrer" target="_blank">Apache Pig文件</a>，Thrift文件在Emacs中都有了现成的语法高亮支持，等等，如果你用Notepad++等文本编辑器就必须自己编写语法高亮规则了（会累死你）。<br />
<span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a><br />
下面记录一下Emacs Windows版从安装到基础配置的过程。<br />
<span id="more-4802"></span><br />
<span style="background-color: rgb(0, 255, 0); ">（1）</span>下载，安装<br />
下载：在<a href="http://ftp.gnu.org/gnu/emacs/windows/" rel="noopener noreferrer" target="_blank"><span style="color:#0000ff;">这个</span></a>链接中，找最新版的下载，例如我下载的是emacs-24.1-bin-i386.zip。<br />
安装：其实把压缩包解压出来就可以了，谁都会。解压出来之后，运行一次bin目录下的addpm.exe &mdash;&mdash;它的作用是添加启动菜单和修改注册表。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（2）</span>配置主目录<br />
这是Windows版的Emacs比Linux版的Emacs要麻烦的地方之一。<br />
我们需要手工修改注册表。定位到注册表的&nbsp;<span style="color:#0000ff;">HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs</span> 处，如果没有则手工一级级添加。新建一个&ldquo;字符串值&rdquo;，名为&ldquo;<span style="color:#b22222;">HOME</span>&rdquo;（不含引号），值为你的Emacs安装目录，例如&ldquo;C:/emacs&rdquo;。这样就设置好了Emacs的主目录。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（3）</span>运行Emacs<br />
运行bin目录下的 runemacs.exe 可启动Emacs。<br />
启动后，点击&ldquo;Options&rdquo;菜单，修改一个简单的设置，然后点击&ldquo;<span style="color:#0000ff;">Save Options</span>&rdquo;，Emacs就会在安装目录下生成&nbsp;.emacs.d 目录以及&nbsp;.emacs 文件。如果没有在安装目录下生成（例如，我在64位Win7下使用32位的Emacs就遇到了这样的问题），那么请检查是否生成在了这个目录下：<br />
<span style="color:#0000ff;">C:\Users\</span><span style="color:#b22222;">用户名</span><span style="color:#0000ff;">\AppData\Roaming\</span><br />
如果有，那么就把这个目录当作配置文件目录就行了。<br />
我们知道&nbsp;.emacs 文件是最重要的Emacs配置文件之一，我们可以在里面定义Emacs的快捷键等。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（4）</span>配置Pig语法高亮以及Thfirt文件语法高亮支持<br />
如果你使用<a href="http://www.codelast.com/?p=4550" rel="noopener noreferrer" target="_blank">Apache Pig</a>或<a href="http://thrift.apache.org/" rel="noopener noreferrer" target="_blank">Apache Thrift</a>，那么你一定需要Emacs的语法高亮支持。为了给大家提供方便，我直接在这里提供语法高亮定义文件的压缩包，点击<a href="http://www.codelast.com/wp-content/uploads/2012/08/pig_and_thrift_emacs_highlight.zip" rel="noopener noreferrer" target="_blank">此处</a>下载。如果你要查看原版出处，请分别点击<a href="https://github.com/cloudera/piglatin-mode" rel="noopener noreferrer" target="_blank"><span style="color:#b22222;">这个链接</span></a>（Pig）和<a href="https://gist.github.com/770490" rel="noopener noreferrer" target="_blank"><span style="color:#b22222;">这个链接</span></a>（Thrift）。<br />
将此压缩包解压到Emacs安装目录下，生成两个文件：.piglatin.el 和&nbsp;.thrift-mode.el 。然后修改 .emacs 文件，添加如下两行：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(load-file &quot;~/.piglatin.el&quot;)
(load-file &quot;~/.thrift-mode.el&quot;)
</pre>
<p>重启Emacs，打开一个Pig文件或Thrift文件，会发现已经有语法高亮了：</p>
<div style="text-align: center; ">
	<a href="http://www.codelast.com" rel="noopener noreferrer" style="text-align: center; " target="_blank"><img decoding="async" alt="" src="http://www.codelast.com/wp-content/uploads/2012/08/thrift_highlight_emacs_on_windows.png" style="width: 400px; height: 296px; " /></a></div>
<p><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a><br />
<span style="background-color:#00ff00;">（5）</span>如何配置Emacs的背景色（theme）？<br />
初次打开Emacs，会发现背景色白花花的一片，这与我们在Linux下常用的黑色背景色相差太大了，一点也不geek，所以当然要改掉它。<br />
点击菜单&ldquo;<span style="color:#0000ff;">Options</span>&rdquo;&rarr;&ldquo;<span style="color:#0000ff;">Customize Emacs</span>&rdquo;&rarr;&ldquo;<span style="color:#0000ff;">Custom Themes</span>&rdquo;，会打开一个新的buffer，在里面你可以用键盘操作来设置风格：</p>
<div style="text-align: center; ">
	<a href="http://www.codelast.com" rel="noopener noreferrer" target="_blank"><img decoding="async" alt="" src="http://www.codelast.com/wp-content/uploads/2012/08/emacs_on_windows_custom_themes.jpg" style="width: 500px; height: 336px; " /></a></div>
<p>按键盘的方向键，将光标移动到要选择的选项上，按Enter键选中它，然后再把光标移动到&ldquo;Save Theme Settings&rdquo;按钮上，按Enter键保存此设置。<br />
最后再按 Ctrl+x，k，Enter（先按Ctrl+x，再按k键，再按回车键）来关闭这个设置theme的buffer即可。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（6）</span>复制、粘贴文本<br />
如果只通过键盘命令来操作，恐怕不是那么容易操作的事情：<br />
首先你要将文本复制到缓冲区，在Emacs中要先选中一段文本，才能开始复制。标记选中文本的起始点是通过按组合键<span style="color: rgb(0, 0, 255); ">Ctrl+Shift+非小键盘的2</span>（即<span style="color: rgb(0, 0, 255); ">Ctrl+@</span>）来实现的，然后，将光标移动到要复制文本的结束点，会发现选中的区域变色了，这时，再按组合键<span style="color: rgb(0, 0, 255); ">Meta+w</span>来完成复制操作。<br />
这里有一个概念，什么是Meta键？请参考<a href="http://en.wikipedia.org/wiki/Meta_key" rel="noopener noreferrer" target="_blank">这个</a>Wiki链接。简言之，现代键盘上已经没有Meta键了，你可以通过<span style="color: rgb(0, 0, 255); ">按下，再放开Ecs</span>键来模拟Meta键，所以上面所说的&nbsp;<span style="color: rgb(0, 0, 255); ">Meta+w</span>&nbsp;组合键的操作就是：<span style="color: rgb(0, 0, 255); ">按下Ecs键，放开Ecs键，按下w键</span>（极麻烦，是吧？）。<br />
复制好文本之后，将光标移动到要粘贴的地方，按下 <span style="color:#0000ff;">Ctrl+y</span> 组合键即可粘贴，这个操作倒是相当简单。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（7）</span>输入TAB<br />
在编辑器中输入TAB，在很多配置情况下，也不是直接按TAB键就可以的。你可以用这种方法输入TAB：先按<span style="color:#0000ff;">Ctrl+q</span>组合键，再按<span style="color:#0000ff;">TAB</span>键，就可以成功插入一个制表符了。</p>
<p><span style="background-color: rgb(0, 255, 0); ">（8）</span>配置auto-complete（自动完成/自动补全）<br />
这里所说的自动完成，只是指使用<a href="http://cx4a.org/software/auto-complete/" rel="noopener noreferrer" target="_blank"><span style="background-color:#add8e6;">这个</span></a>Emacs插件实现的，如果你要让Emacs能自动补全标准库里的C++函数，那么在Windows下怎么做我还没试（Linux可参考<a href="http://www.codelast.com/?p=4945" rel="noopener noreferrer" target="_blank"><span style="background-color:#add8e6;">这篇文章</span></a>的第【6】项）。<br />
先下载链接里的自动完成插件压缩包，解压到某目录下，例如，我解压到了&nbsp;F:\auto-complete-1.3.1 目录下。<br />
在Widnows命令行中切换到Emacs的bin目录，执行如下命令（执行过程中会询问你安装路径）：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
emacs -batch -l F:\auto-complete-1.3.1\etc\install.el
Install to: C:\Users\XXX\AppData\Roaming\.emacs.d\auto-complete
</pre>
<p>其中，<span style="color:#0000ff;">C:\Users\XXX\AppData\Roaming\.emacs.d\</span> 是你用于存放Emacs配置文件的目录，在Windows 7下通常是这个目录（XXX是指你的用户名），<span style="color:#0000ff;">.emacs</span>配置文件位于&nbsp;<span style="color:#0000ff;">C:\Users\XXX\AppData\Roaming\</span> 目录下。auto-complete是我自己创建的子目录。<br />
最后一步，将如下配置添加到Emacs配置文件.emacs中：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-to-list &#39;load-path &quot;c:/Users/XXX/AppData/Roaming/.emacs.d/auto-complete&quot;)
(require &#39;auto-complete-config)
(add-to-list &#39;ac-dictionary-directories &quot;c:/Users/XXX/AppData/Roaming/.emacs.d/auto-complete/ac-dict&quot;)
(ac-config-default)
</pre>
<p>这里要注意，上面的路径里用的是<span style="color:#ff0000;">/</span>，而不是Windows下的<span style="color:#0000ff;">\</span>，如果你用<span style="color:#0000ff;">\</span>，会在重新打开Emacs之后提示错误。<br />
再打开Emacs试试，就有自动完成功能了。</p>
<p><span style="background-color: rgb(0, 255, 0);">（9）</span>让Emacs打开一个非XML后缀的文件时以XML语法高亮<br />
在Emacs中执行命令：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
M-x nxml-mode
</pre>
<p>即可让Emacs以XML语法来高亮当前文件（无论当前文件是什么格式的）。<br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color: rgb(0, 255, 0);">（10）</span>批量注释一段代码<br />
先mark任意一段代码，然后用以下命令来注释mark的所有代码：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
M-x comment-region
</pre>
<p>
<span style="background-color: rgb(0, 255, 0);">（11）</span>切换只读模式/正常模式</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
C-x C-q
</pre>
<p>
<span style="background-color: rgb(0, 255, 0);">（12）</span><span style="font-family: Ubuntu;">显示行号<br />
如果Emacs默认没有显示行号，可通过在.emacs配置文件中添加下面一句话来显示：</span></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(setq column-number-mode t)
</pre>
<p>
<span style="background-color: rgb(0, 255, 0);">（13）</span><span style="font-family: Ubuntu;">配置PHP语法高亮<br />
Emacs默认是没有PHP语法高亮的，可通过加载扩展来实现。首先下载<a href="http://sourceforge.net/projects/php-mode/" rel="noopener noreferrer" target="_blank"><span style="background-color:#ffa07a;">此Emacs扩展</span></a>，将压缩包中的&nbsp;</span><span style="color:#0000ff;">php-mode.el</span> 放到你的.emacs配置文件同一目录下，将其重命名为 <span style="color:#0000ff;">.php-mode.el</span>（当然你也可以不这样做）。然后在.emacs配置文件中，添加一句：</p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(load-file &quot;~/.php-mode.el&quot;)
</pre>
<p><span style="font-family: Ubuntu;">再重新用Emacs打开一个PHP文件，就会发现已经有语法高亮了。</span><br />
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="http://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">http://www.codelast.com/</span></a><br />
<span style="background-color: rgb(0, 255, 0);">（14）</span><span style="font-family: Ubuntu;">给选中区域的每一行第一列添加同样的字符串<br />
假设有三行：</span></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
1111
2222
3333
</pre>
<p><span style="font-family: Ubuntu;">要给每一行的行首添加上&ldquo;abc&rdquo;，除了一行行地去写之外，有没有更简单的办法（想像一下有100行要处理的情景）？<br />
方法是：先选中这些行（注意：选中的区域要使得光标移动到第2行的行首处，即最后一个要插入字符串的行是无须完全选中的），然后使用命令：</span></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
M-x string-rectangle
</pre>
<p><span style="font-family: Ubuntu;">回车，输入你要在行首插入的字符串&ldquo;abc&rdquo;，再回车，效果立现：</span></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
abc1111
abc2222
abc3333
</pre>
<p>
<span style="background-color: rgb(0, 255, 0);">（15）</span><span style="font-family: Ubuntu;">如何配置Emacs，使得输入TAB时，用空格替代<br />
默认情况下，在Emacs中按一下TAB，就是输入TAB，如果我们想让它输入的是空格（并且可以指定按一下TAB输入几个空格），可以在.emacs中这样配置：</span></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
(add-hook &#39;sh-mode-hook
  &#39;(lambda () (setq sh-basic-offset 2)))
</pre>
<p><span style="font-family: Ubuntu;">注意：上面的配置设置了按一下TAB输入2个空格，并且它<span style="color:#0000ff;">只对shell脚本生效</span>！这是因为不同类型的文件对应的配置是不同的，sh-mode-hook使得只对shell生效。</span></p>
<p>
<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-emacs-on-windows%e5%88%9d%e6%ad%a5%e5%ae%9e%e8%b7%b5/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>shell脚本因文件编码问题不能正确执行的问题</title>
		<link>https://www.codelast.com/shell%e8%84%9a%e6%9c%ac%e5%9b%a0%e6%96%87%e4%bb%b6%e7%bc%96%e7%a0%81%e9%97%ae%e9%a2%98%e4%b8%8d%e8%83%bd%e6%ad%a3%e7%a1%ae%e6%89%a7%e8%a1%8c%e7%9a%84%e9%97%ae%e9%a2%98/</link>
					<comments>https://www.codelast.com/shell%e8%84%9a%e6%9c%ac%e5%9b%a0%e6%96%87%e4%bb%b6%e7%bc%96%e7%a0%81%e9%97%ae%e9%a2%98%e4%b8%8d%e8%83%bd%e6%ad%a3%e7%a1%ae%e6%89%a7%e8%a1%8c%e7%9a%84%e9%97%ae%e9%a2%98/#respond</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Tue, 14 Dec 2010 12:26:44 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[ANSI]]></category>
		<category><![CDATA[BOM]]></category>
		<category><![CDATA[cannot execute binary file]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[ps]]></category>
		<category><![CDATA[SecureCRT]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[UltraEdit]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[UTF8]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[去除]]></category>
		<category><![CDATA[文件]]></category>
		<category><![CDATA[汉字]]></category>
		<category><![CDATA[编码]]></category>
		<category><![CDATA[错误]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=912</guid>

					<description><![CDATA[<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">遇到一例因shell文件的编码问题导致执行后不能得到正确结果的问题。一般来说脚本中不会带有中文，不过有时候例外，例如你要查找一个文本中的字符串，cat test.txt &#124; grep &#34;汽车&#34; &#160;这样的命令，如果文件编码不对，就可能得不到正确结果。</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span id="more-912"></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">我的问题是：有一个脚本，无论怎么执行结果都不对，但是我把它里面的关键的几句话单独拿出来，在SecureCRT终端下依次执行，最后得到的结果却正确，奇了。于是我终于想起来可能有中文的影响，在终端里查看shell脚本的内容，发现不能正确显示出一处中文（乱码了），可见正是这处乱码，导致了grep输出的结果不正确。但是在SecureCRT终端下，无论是用vi还是emacs，我都无法向文件中输入中文（上屏的中文全都乱码），于是怀疑是文件编码问题。</span></span></p>
<p>
	<span style="font-size: 14px; color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" style="font-size: 14px; " target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">然后我就将脚本下载到Windows下，用UltraEdit将其另存为UTF-8格式，再上传到Linux中，再执行脚本，竟然报错：<strong><span style="color:#f00;">cannot execute binary file</span></strong></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">这种问题的原因之一是脚本中有不可识别字符。于是我再用UltraEdit，将文件重新存为&#8220;<strong><span style="color:#00f;">UTF-8 无 BOM</span></strong>&#8221;格式（如下图），再上传到Linux中，就可以正确执行了。</span></span></p>
<p style="text-align: center; ">
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><img decoding="async" alt="另存为UTF-8 无BOM格式" src="http://www.codelast.com/wp-content/uploads/2011/11/utf-8_no_bom_file_format.jpg" style="width: 353px; height: 103px; " /><br />
	</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">网上还有很多文章，介绍了如何用emacs，vi 或 vim更改文件编码的方法，应该也是可以的，但用UltraEdit最方便。</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">另外再记一个小技巧：用 ps -ef &#124; grep XXX 命令查看系统中是否存在某个进程的时候，输出结果中会包含有grep命令这一行，例如：</span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
ps -ef &#124; grep httpd
</pre>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">部分输出为：</span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
root     27154 27129  0 20:35 pts/3    00:00:00 grep httpd
daemon   28834  2955  3 13:35 ?</pre>&#8230; <a href="https://www.codelast.com/shell%e8%84%9a%e6%9c%ac%e5%9b%a0%e6%96%87%e4%bb%b6%e7%bc%96%e7%a0%81%e9%97%ae%e9%a2%98%e4%b8%8d%e8%83%bd%e6%ad%a3%e7%a1%ae%e6%89%a7%e8%a1%8c%e7%9a%84%e9%97%ae%e9%a2%98/" class="read-more">Read More </a>]]></description>
										<content:encoded><![CDATA[<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">遇到一例因shell文件的编码问题导致执行后不能得到正确结果的问题。一般来说脚本中不会带有中文，不过有时候例外，例如你要查找一个文本中的字符串，cat test.txt | grep &quot;汽车&quot; &nbsp;这样的命令，如果文件编码不对，就可能得不到正确结果。</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span id="more-912"></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">我的问题是：有一个脚本，无论怎么执行结果都不对，但是我把它里面的关键的几句话单独拿出来，在SecureCRT终端下依次执行，最后得到的结果却正确，奇了。于是我终于想起来可能有中文的影响，在终端里查看shell脚本的内容，发现不能正确显示出一处中文（乱码了），可见正是这处乱码，导致了grep输出的结果不正确。但是在SecureCRT终端下，无论是用vi还是emacs，我都无法向文件中输入中文（上屏的中文全都乱码），于是怀疑是文件编码问题。</span></span></p>
<p>
	<span style="font-size: 14px; color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" style="font-size: 14px; " target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">然后我就将脚本下载到Windows下，用UltraEdit将其另存为UTF-8格式，再上传到Linux中，再执行脚本，竟然报错：<strong><span style="color:#f00;">cannot execute binary file</span></strong></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">这种问题的原因之一是脚本中有不可识别字符。于是我再用UltraEdit，将文件重新存为&ldquo;<strong><span style="color:#00f;">UTF-8 无 BOM</span></strong>&rdquo;格式（如下图），再上传到Linux中，就可以正确执行了。</span></span></p>
<p style="text-align: center; ">
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><img decoding="async" alt="另存为UTF-8 无BOM格式" src="http://www.codelast.com/wp-content/uploads/2011/11/utf-8_no_bom_file_format.jpg" style="width: 353px; height: 103px; " /><br />
	</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">网上还有很多文章，介绍了如何用emacs，vi 或 vim更改文件编码的方法，应该也是可以的，但用UltraEdit最方便。</span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">另外再记一个小技巧：用 ps -ef | grep XXX 命令查看系统中是否存在某个进程的时候，输出结果中会包含有grep命令这一行，例如：</span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
ps -ef | grep httpd
</pre>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;">部分输出为：</span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
root     27154 27129  0 20:35 pts/3    00:00:00 grep httpd
daemon   28834  2955  3 13:35 ?        00:16:23 /usr/local/apache2/bin/httpd -k start
</pre>
<p>
	<span style="font-size: 14px; ">可见第一行是干扰，我们不想看到它，那么可以有两种方法来过滤掉这一行：</span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
ps -ef | grep httpd | grep -v grep
</pre>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span">或：</font></span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
ps -Ao pid,comm,args | grep httpd
</pre>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span">这种方法输出的内容中只包含进程号、进程名、调用参数，具体使用可man ps。</font></span></span></p>
<p>
	<br />
	<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
	<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
	转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
	感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushShell.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/shell%e8%84%9a%e6%9c%ac%e5%9b%a0%e6%96%87%e4%bb%b6%e7%bc%96%e7%a0%81%e9%97%ae%e9%a2%98%e4%b8%8d%e8%83%bd%e6%ad%a3%e7%a1%ae%e6%89%a7%e8%a1%8c%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>emacs解除read-only的buffer锁定</title>
		<link>https://www.codelast.com/emacs%e8%a7%a3%e9%99%a4read-only%e7%9a%84buffer%e9%94%81%e5%ae%9a/</link>
					<comments>https://www.codelast.com/emacs%e8%a7%a3%e9%99%a4read-only%e7%9a%84buffer%e9%94%81%e5%ae%9a/#comments</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Tue, 14 Sep 2010 03:22:13 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[Buffer]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[read-only]]></category>
		<category><![CDATA[解除]]></category>
		<category><![CDATA[锁定]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=159</guid>

					<description><![CDATA[<p>
	如果你用emacs打开一个文件，却编辑不了它（提示该buffer是read-only的），那么用Ctrl-x，Ctrl-q就可以解除锁定。</p>
<p>	<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
	<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;版权声明&#160;<span style="color: rgb(255, 0, 0);">➤➤</span>&#160;<br />
	转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&#160;<br />
	感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" />&#8230; <a href="https://www.codelast.com/emacs%e8%a7%a3%e9%99%a4read-only%e7%9a%84buffer%e9%94%81%e5%ae%9a/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>
	如果你用emacs打开一个文件，却编辑不了它（提示该buffer是read-only的），那么用Ctrl-x，Ctrl-q就可以解除锁定。</p>
<p>	<span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
	<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
	转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
	感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/emacs%e8%a7%a3%e9%99%a4read-only%e7%9a%84buffer%e9%94%81%e5%ae%9a/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
