锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久被窝电影亚洲爽爽爽,人人狠狠综合久久亚洲高清,亚洲码一区二区三区http://www.tkk7.com/luedipiaofeng/archive/2011/02/24/345053.htmlBlakeSuBlakeSuThu, 24 Feb 2011 05:03:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2011/02/24/345053.htmlhttp://www.tkk7.com/luedipiaofeng/comments/345053.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2011/02/24/345053.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/345053.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/345053.html There are two way to let Maven package your application, either as a single jar with all your dependencies jar.


 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
   <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef>
   </descriptorRefs>
  </configuration>
 </plugin>



One advantage if you choose to do this way is if you need to sign your application jar.
This is needed if you are building a Java Web Start client and you need more access than connecting back to the server.
To read more about have Maven signing your jar read http://maven.apache.org/plugins/maven-jar-plugin/usage.html.
But if you choose to go this way, make sure that all license agreement are shipped with your one single jar.

Another way is to let Maven package your source code only and then referring the dependent jar file from the MANIFEST file.


 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
   <archive>
    <manifest>
     <addClasspath>true</addClasspath>
     <mainClass>se.msc.adapter.Main</mainClass>
     <classpathPrefix>lib/</classpathPrefix>
    </manifest>
   </archive>
  </configuration>
 </plugin>


BlakeSu 2011-02-24 13:03 鍙戣〃璇勮
]]>
eclipse 緇堜簬鏈変簡鍒楃紪杈戝姛鑳?/title><link>http://www.tkk7.com/luedipiaofeng/archive/2010/10/15/335216.html</link><dc:creator>BlakeSu</dc:creator><author>BlakeSu</author><pubDate>Fri, 15 Oct 2010 03:33:00 GMT</pubDate><guid>http://www.tkk7.com/luedipiaofeng/archive/2010/10/15/335216.html</guid><wfw:comment>http://www.tkk7.com/luedipiaofeng/comments/335216.html</wfw:comment><comments>http://www.tkk7.com/luedipiaofeng/archive/2010/10/15/335216.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luedipiaofeng/comments/commentRss/335216.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luedipiaofeng/services/trackbacks/335216.html</trackback:ping><description><![CDATA[eclipse 3.5涔嬪悗緇堜簬鏈変簡鍒楃紪杈戯紝蹇嵎閿槸alt+shift+a,鍐嶆鎸夋蹇嵎閿繑鍥炲父瑙勭紪杈戠姸鎬併?br /> <br /> <img src="file:///C:/DOCUME%7E1/bsu/LOCALS%7E1/Temp/moz-screenshot-1.png" alt="" /><img src="file:///C:/DOCUME%7E1/bsu/LOCALS%7E1/Temp/moz-screenshot-2.png" alt="" /><img src="http://www.tkk7.com/images/blogjava_net/luedipiaofeng/columnedit.png" alt="" border="0" height="289" width="307" /><br /> <img src ="http://www.tkk7.com/luedipiaofeng/aggbug/335216.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luedipiaofeng/" target="_blank">BlakeSu</a> 2010-10-15 11:33 <a href="http://www.tkk7.com/luedipiaofeng/archive/2010/10/15/335216.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>LineNumberReader 鎸囧畾鏂囦歡緙栫爜http://www.tkk7.com/luedipiaofeng/archive/2010/08/05/327998.htmlBlakeSuBlakeSuThu, 05 Aug 2010 01:13:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2010/08/05/327998.htmlhttp://www.tkk7.com/luedipiaofeng/comments/327998.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2010/08/05/327998.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/327998.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/327998.html
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;


public class Main {
    
    
public static void main(String[] args) throws IOException {

        InputStreamReader isr 
= new InputStreamReader(new FileInputStream("15370720.pdf4"), "utf-16");
        LineNumberReader lnr
=new LineNumberReader(isr);
        String line 
= null;
        
while((line=lnr.readLine())!=null){  
           System.out.println(lnr.getLineNumber()
+"\t"+line);
        }
   }
}


BlakeSu 2010-08-05 09:13 鍙戣〃璇勮
]]>
Class.getResourceAsStream 鍜?ClassLoader.getResourceAsStreamhttp://www.tkk7.com/luedipiaofeng/archive/2010/07/28/327336.htmlBlakeSuBlakeSuWed, 28 Jul 2010 08:31:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2010/07/28/327336.htmlhttp://www.tkk7.com/luedipiaofeng/comments/327336.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2010/07/28/327336.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/327336.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/327336.html 璧勬簮錛岀敤鐨勬槸緇濆璺緞銆?br />
鍦ㄤ嬌鐢–lass.getResourceAsStream 鏃訛紝 璧勬簮璺緞鏈変袱縐嶆柟寮忥紝 涓縐嶄互 / 寮澶達紝鍒欒繖鏍風殑璺緞鏄寚瀹氱粷瀵?br /> 璺緞錛?濡傛灉涓嶄互 / 寮澶達紝 鍒欒礬寰勬槸鐩稿涓庤繖涓猚lass鎵鍦ㄧ殑鍖呯殑銆?

鍦ㄤ嬌鐢–lassLoader.getResourceAsStream鏃訛紝 璺緞鐩存帴浣跨敤鐩稿浜巆lasspath鐨勭粷瀵硅礬寰勩?

涓句緥錛屼笅闈㈢殑涓変釜璇彞錛屽疄闄呯粨鏋滄槸涓鏍風殑錛?
   com.explorers.Test.class.getResourceAsStream("abc.jpg")
= com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")
= ClassLoader.getResourceAsStream("com/explorers/abc.jpg")

BlakeSu 2010-07-28 16:31 鍙戣〃璇勮
]]>
Standalone Java CAS Clienthttp://www.tkk7.com/luedipiaofeng/archive/2010/07/15/326212.htmlBlakeSuBlakeSuThu, 15 Jul 2010 09:59:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2010/07/15/326212.htmlhttp://www.tkk7.com/luedipiaofeng/comments/326212.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2010/07/15/326212.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/326212.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/326212.htmlThere's a variety of clients for CAS. The Java-based clients (JA-SIG, Yale, see JA-SIG website) typically handle the browser-based client interaction with CAS very well through ServletFilter implementations.

Now what about programmatic authentication, i.e. achieving authentication through non-browser based applications? There exists a CAS .NET client but I did not manage to find the appropriate Java implementation. So here goes - it is based on the Apache HttpClient.

In case I missed any existing implementation achieving the same purpose, let's look at the bright side: at least now I understand the CAS protocol :-)

My CAS client works within any application. It uses the HttpClient and behaves like a browser client as CAS requires cookie support.

Here's the code:
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.log4j.Logger;

/**
* The CasClient allows users to programmatically login
* to CAS protected services based on the CAS 2 protocol.
* This client behaves like a browser-client in terms of
* cookie handling.<br>
*
@author Mathias Richter
*/
public class CasClient
{
  
   
public static Logger LOG = Logger.getLogger( CasClient.class  );

   
public static final String LOGIN_URL_PART = "login";
   
public static final String SERVICE_VALIDATE_URL_PART = "serviceValidate";
   
public static final String TICKET_BEGIN = "ticket=";
   
private static final String LT_BEGIN = "name="lt" value="";
   public static final String CAS_USER_BEGIN = "<cas:user>";
   
public static final String CAS_USER_END = "</cas:user>";
  
   
private HttpClient fClient;
   
private String fCasUrl;
  
   
/**
    * Construct a new CasClient.
    *
    * 
@param casUrl The base URL of the CAS service to be used.
    
*/
   
public CasClient( String casBaseUrl )
   {
       
thisnew HttpClient(), casBaseUrl );
   }
  
   
/**
    * Construct a new CasClient which uses the specified HttpClient
    * for its HTTP calls.
    *
    * 
@param client
    * 
@param casBaseUrl
    
*/
   
public CasClient( HttpClient client, String casBaseUrl )
   {
       fClient 
= client;
       fCasUrl 
= casBaseUrl;
   }
  
   
/**
    * Authenticate the specified username with the specified password.
    * This will not yield any ticket, as no service is authenticated
    * against. This wil just set the CAS cookie in this client upon
    * successful authentication.
    *
    * 
@param username
    * 
@param password
    
*/
   
public void authenticate( String username, String password )
   {
       authenticate( 
null, username, password );
   }
  
   
/**
    * Validate the specified service ticket against the specified service.
    * If the ticket is valid, this will yield the clear text user name
    * of the autenticated user.<br>
    * Note that each service ticket issued by CAS can be used exactly once
    * to validate.
    *
    * 
@param serviceUrl
    * 
@param serviceTicket
    *
    * 
@return Clear text username of the authenticated user.
    
*/
   
public String validate( String serviceUrl, String serviceTicket )
   {
       String result 
= null;
       PostMethod method 
= new PostMethod( fCasUrl + SERVICE_VALIDATE_URL_PART );
       method.setParameter( 
"service", serviceUrl );
       method.setParameter( 
"ticket", serviceTicket );
       
try
       {
           
int statusCode = fClient.executeMethod(method);
           
if (statusCode != HttpStatus.SC_OK)
           {
               LOG.error( 
"Could not validate: " + method.getStatusLine() );
               method.releaseConnection();
           } 
else
           {   
               result 
= extractUser( new String( method.getResponseBody() ) );
           }
       } 
catch ( Exception x )
       {
           LOG.error( 
"Could not validate: " + x.toString () );
           x.printStackTrace();
       }
       method.releaseConnection();
       
return result;
   }
  
   
/**
    * Authenticate the specified user with the specified password against the
    * specified service.
    *
    * 
@param serviceUrl May be null. If a url is specified, the authentication will happen against this service, yielding a service ticket which can be validated.
    * 
@param username
    * 
@param password
    * 
@return A valid service ticket, if and only if the specified service URL is not null.
    
*/
   
public String authenticate( String serviceUrl, String username, String password )
   {
       String lt 
= getLt( serviceUrl );
       
if ( lt == null )
       {
           LOG.error( 
"Cannot retrieve LT from CAS. Aborting authentication for '" + username + "'" );
           
return null;
       }
       String result 
= null;
       PostMethod method 
= new PostMethod( fCasUrl + LOGIN_URL_PART );
       
if ( serviceUrl != null ) // optional
           method.setParameter( "service", serviceUrl );
       method.setParameter( 
"_eventId""submit" );
       method.setParameter(
"username", username );
       method.setParameter(
"password", password );
       method.setParameter(
"lt", lt );
       method.setParameter( 
"gateway""true" );
       
try
       {
           fClient.executeMethod(method);
           
if ( serviceUrl == null )
           {
               
if ( extractLt( new String( method.getResponseBody() ) ) != null ) // if CAS does not return a login page with an LT authentication was successful
               {
                   LOG.error( 
"Authentication for '" +  username + "' unsuccessful" );
                   
if ( LOG.isDebugEnabled() )
                       LOG.debug( 
"Authentication for '" + username + "' unsuccessful." );
               } 
else
               {
                   
if ( LOG.isDebugEnabled() )
                       LOG.debug( 
"Authentication for '" + username + "' unsuccessful." );
               }
           } 
else
           {
               Header h 
= method.getResponseHeader( "Location" );
               
if ( h != null )
                   result 
= extractServiceTicket( h.getValue() );
               
if ( result == null )
                   LOG.error( 
"Authentication for '" + username + "' unsuccessful." );
           }
       } 
catch ( Exception x )
       {
           LOG.error( 
"Could not authenticate'" + username + "':" + x.toString () );
       }
       method.releaseConnection();
       
return result;
   }
  
   
/**
    * Helper method to extract the user name from a "service validate" call to CAS.
    *
    * 
@param data Response data.
    * 
@return The clear text username, if it could be extracted, null otherwise.
    
*/
   
protected String extractUser( String data )
   {
       String user 
= null;
       
int start = data.indexOf( CAS_USER_BEGIN  );
       
if ( start >= 0 )
       {
           start 
+= CAS_USER_BEGIN.length();
           
int end = data.indexOf( CAS_USER_END );
           
if ( end > start )
               user 
= data.substring( start, end );
           
else
               LOG.warn( 
"Could not extract username from CAS validation response. Raw data is: '" + data + "'" );
       } 
else
       {
           LOG.warn( 
"Could not extract username from CAS validation response. Raw data is: '" + data + "'" );
       }
       
return user;
   }
  
   
/**
    * Helper method to extract the service ticket from a login call to CAS.
    *
    * 
@param data Response data.
    * 
@return The service ticket, if it could be extracted, null otherwise.
    
*/
   
protected String extractServiceTicket( String data )
   {
       String serviceTicket 
= null;
       
int start = data.indexOf( TICKET_BEGIN  );
       
if ( start > 0 )
       {
           start 
+= TICKET_BEGIN.length();
           serviceTicket 
= data.substring( start );
       }
       
return serviceTicket;
   }
  
   
/**
    * Helper method to extract the LT from a login form from CAS.
    *
    * 
@param data Response data.
    * 
@return The LT, if it could be extracted, null otherwise.
    
*/
   
protected String extractLt( String data )
   {
       String token 
= null;
       
int start = data.indexOf( LT_BEGIN  );
       
if ( start < 0 )
       {
           LOG.error( 
"Could not obtain LT token from CAS: LT Token not found in response." );
       } 
else
       {
           start 
+= LT_BEGIN.length();
           
int end = data.indexOf( """, start );
           token = data.substring( start, end );
       }       
       
return token;
   }
  
   
/**
    * This method requests the original login form from CAS.
    * This form contains an LT, an initial token that must be
    * presented to CAS upon sending it an authentication request
    * with credentials.<br>
    * If a service URL is provided (which is optional), this method
    * will post the URL such that CAS authenticates against the
    * specified service when a subsequent authentication request is
    * sent.
    *
    * 
@param serviceUrl
    * 
@return The LT token if it could be extracted from the CAS response.
    
*/
   
protected String getLt( String serviceUrl )
   {
       String lt 
= null;
       HttpMethod method 
= null;
       
if ( serviceUrl == null )
           method 
= new GetMethod( fCasUrl + LOGIN_URL_PART );
       
else
       {
           method 
= new PostMethod( fCasUrl + LOGIN_URL_PART );
           ( ( PostMethod ) method ).setParameter( 
"service", serviceUrl );
       }
       
try
       {
           
int statusCode = fClient.executeMethod(method);
           
if (statusCode != HttpStatus.SC_OK)
           {
               LOG.error( 
"Could not obtain LT token from CAS: " + method.getStatusLine() );
               method.releaseConnection();
           } 
else
           {
               Object o 
= method.getResponseHeaders() ;
               
return extractLt( new String( method.getResponseBody() ) );
           }
       } 
catch ( Exception x )
       {
           LOG.error( 
"Could not obtain LT token from CAS: " + x.toString () );
       }
       method.releaseConnection();
       
return lt;
   }
  
}



BlakeSu 2010-07-15 17:59 鍙戣〃璇勮
]]>
java鍙栨枃浠舵崲琛岀http://www.tkk7.com/luedipiaofeng/archive/2010/06/30/324892.htmlBlakeSuBlakeSuWed, 30 Jun 2010 07:45:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2010/06/30/324892.htmlhttp://www.tkk7.com/luedipiaofeng/comments/324892.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2010/06/30/324892.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/324892.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/324892.html

BlakeSu 2010-06-30 15:45 鍙戣〃璇勮
]]>
紱佹嫻忚鍣ㄧ紦瀛?/title><link>http://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324386.html</link><dc:creator>BlakeSu</dc:creator><author>BlakeSu</author><pubDate>Fri, 25 Jun 2010 01:06:00 GMT</pubDate><guid>http://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324386.html</guid><wfw:comment>http://www.tkk7.com/luedipiaofeng/comments/324386.html</wfw:comment><comments>http://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luedipiaofeng/comments/commentRss/324386.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luedipiaofeng/services/trackbacks/324386.html</trackback:ping><description><![CDATA[html<br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta </span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="pragma"</span><span style="color: #ff0000;"> content</span><span style="color: #0000ff;">="no-cache"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br />   </span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta </span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="cache-control"</span><span style="color: #ff0000;"> content</span><span style="color: #0000ff;">="no-cache"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br />   </span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta </span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="expires"</span><span style="color: #ff0000;"> content</span><span style="color: #0000ff;">="0"</span><span style="color: #0000ff;">></span></div> <br /> <br /> servlet<br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">          response.setHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">pragma</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">no-cache</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />           response.setHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">cache-control</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">no-cache</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />           response.setDateHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">expires</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">0</span><span style="color: #000000;">);</span></div> <br /> <br /> <img src ="http://www.tkk7.com/luedipiaofeng/aggbug/324386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luedipiaofeng/" target="_blank">BlakeSu</a> 2010-06-25 09:06 <a href="http://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324386.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>frame 涓法鍩熻闂甤ookie(java)http://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324385.htmlBlakeSuBlakeSuFri, 25 Jun 2010 01:04:00 GMThttp://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324385.htmlhttp://www.tkk7.com/luedipiaofeng/comments/324385.htmlhttp://www.tkk7.com/luedipiaofeng/archive/2010/06/25/324385.html#Feedback0http://www.tkk7.com/luedipiaofeng/comments/commentRss/324385.htmlhttp://www.tkk7.com/luedipiaofeng/services/trackbacks/324385.html

BlakeSu 2010-06-25 09:04 鍙戣〃璇勮
]]>
vim鐨勫鍒剁矘璐村皬緇?/title><link>http://www.tkk7.com/luedipiaofeng/archive/2010/06/18/323810.html</link><dc:creator>BlakeSu</dc:creator><author>BlakeSu</author><pubDate>Fri, 18 Jun 2010 06:21:00 GMT</pubDate><guid>http://www.tkk7.com/luedipiaofeng/archive/2010/06/18/323810.html</guid><wfw:comment>http://www.tkk7.com/luedipiaofeng/comments/323810.html</wfw:comment><comments>http://www.tkk7.com/luedipiaofeng/archive/2010/06/18/323810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luedipiaofeng/comments/commentRss/323810.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luedipiaofeng/services/trackbacks/323810.html</trackback:ping><description><![CDATA[<span id="ctl00_MainContentPlaceholder_ctl01_ctl00_lblEntry"> <p><span id="ctl00_MainContentPlaceholder_ctl01_ctl00_lblTrackbacks">鍘熸枃鍦板潃銆http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.trak</span></p> <p><br /> </p> <p>鐢╲im榪欎箞涔? 浜嗭紝濮嬬粓涔熶笉鐭ラ亾鎬庝箞鍦╲im涓嬌鐢ㄧ郴緇熺矘璐存澘錛岄氬父瑕佸湪緗戜笂澶嶅埗涓孌典唬鐮侀兘鏄厛gedit鎵撳紑鏂囦歡錛屼腑閿矘璐村悗鍏抽棴錛岀劧鍚庡啀鐢╲im鎵撳紑緙栬緫錛岀湡鐨勪笉 鐖斤紱涓婃璁哄潧涓婃湁浜洪棶鍒頒簡鎬庝箞鍦╲im涓嬌鐢ㄧ郴緇熺矘璐存澘錛屽嵃璞¢噷鍥炲寰堝錛屾湁濂藉嚑欏電殑鍥炲鍗存病鏈夎В鍐抽棶棰橈紝浠婂ぉ瀹炲湪鍙椾笉浜嗕簡鍙堝湪緗戜笂鎵懼姙娉曪紝绔熸剰澶栧湴鎵懼埌 浜嗭紝璐村嚭鏉ュ垎浜竴涓嬨? </p> <p>濡傛灉鍙槸鎯充嬌鐢ㄧ郴緇熺矘璐存澘鐨勮瘽鐩存帴鍦ㄨ緭鍏ユā寮忔寜Shift+Inset灝卞彲浠ヤ簡錛屼笅闈㈣涓涓媣im鐨勭矘璐存澘鐨勫熀紜鐭ヨ瘑錛屾湁鍏磋叮鐨勫彲浠ョ湅鐪嬶紝 搴旇浼氭湁鎵鏀惰幏鐨勩?br /> vim甯姪鏂囨。閲屼笌綺樿創鏉挎湁鍏崇殑鍐呭濡備笅錛? </p> <ol> <li>vim鏈?2涓矘璐存澘錛屽垎鍒槸0銆?銆?銆?..銆?銆乤銆?#8220;銆侊紜錛涚敤:reg鍛戒護鍙互鏌ョ湅鍚勪釜綺樿創鏉塊噷鐨勫唴瀹廣傚湪vim涓畝鍗曠敤y鍙槸澶嶅埗鍒? “錛堝弻寮曞彿)綺樿創鏉塊噷錛屽悓鏍風敤p綺樿創鐨勪篃鏄繖涓矘璐存澘閲岀殑鍐呭錛? <p> </p> </li> <li>瑕佸皢vim鐨勫唴瀹瑰鍒跺埌鏌愪釜綺樿創鏉匡紝闇瑕侀鍑虹紪杈戞ā寮忥紝榪涘叆姝e父妯″紡鍚庯紝閫夋嫨瑕佸鍒剁殑鍐呭錛岀劧鍚庢寜"Ny瀹屾垚澶嶅埗錛屽叾涓璑涓虹矘 璐存澘鍙?娉ㄦ剰鏄寜涓涓嬪弻寮曞彿鐒跺悗鎸夌矘璐存澘鍙鋒渶鍚庢寜y)錛屼緥濡傝鎶婂唴瀹瑰鍒跺埌綺樿創鏉縜錛岄変腑鍐呭鍚庢寜"ay灝卞彲浠ヤ簡錛屾湁涓ょ偣闇瑕佽鏄庝竴涓嬶細 <ul> <li>“鍙風矘璐存澘錛堜復鏃剁矘璐存澘錛夋瘮杈冪壒孌婏紝鐩存帴鎸墆灝卞鍒跺埌榪欎釜綺樿創鏉夸腑浜嗭紝鐩存帴鎸塸灝辯矘璐磋繖涓矘璐存澘涓殑鍐呭錛? </li> <li>+鍙風矘璐存澘鏄郴緇熺矘璐存澘錛岀敤"+y灝嗗唴瀹瑰鍒跺埌璇ョ矘璐存澘鍚庡彲浠ヤ嬌鐢–trl錛媀灝嗗叾綺樿創鍒板叾浠栨枃妗o紙濡俧irefox銆乬edit錛? 涓紝鍚岀悊錛岃鎶婂湪鍏朵粬鍦版柟鐢–trl錛婥鎴栧彸閿鍒剁殑鍐呭澶嶅埗鍒皏im涓紝闇瑕佸湪姝e父妯″紡涓嬫寜"+p錛?</li> </ul> <p> </p> </li> <li>瑕佸皢vim鏌愪釜綺樿創鏉塊噷鐨勫唴瀹圭矘璐磋繘鏉ワ紝闇瑕侀鍑虹紪杈戞ā寮忥紝鍦ㄦ甯告ā寮忔寜"Np錛屽叾涓璑涓虹矘璐存澘鍙鳳紝濡備笂鎵榪幫紝鍙互鎸?5p灝? 5鍙風矘璐存澘閲岀殑鍐呭綺樿創榪涙潵錛屼篃鍙互鎸?+p灝嗙郴緇熷叏灞綺樿創鏉塊噷鐨勫唴瀹圭矘璐磋繘鏉ャ?</li> </ol> <p><font color="lime">娉ㄦ剰錛氬湪鎴戣繖閲岋紝鍙湁vim.gtk鎴杤im.gnome鎵嶈兘浣跨敤緋葷粺鍏ㄥ眬綺樿創鏉匡紝榛樿鐨? vim.basic鐪嬩笉鍒?鍙峰瘎瀛樺櫒銆?/font></p> </span> <img src ="http://www.tkk7.com/luedipiaofeng/aggbug/323810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luedipiaofeng/" target="_blank">BlakeSu</a> 2010-06-18 14:21 <a href="http://www.tkk7.com/luedipiaofeng/archive/2010/06/18/323810.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://wwwtoutoulu.com" target="_blank">国产精成人品日日拍夜夜免费</a>| <a href="http://xcdys.com" target="_blank">国产精品亚洲专一区二区三区</a>| <a href="http://znboxcdn304.com" target="_blank">免费久久人人爽人人爽av</a>| <a href="http://zbhongtai.com" target="_blank">亚洲精品国产精品乱码不卞</a>| <a href="http://7a37.com" target="_blank">中美日韩在线网免费毛片视频</a>| <a href="http://ryhjled.com" target="_blank">亚洲精品国产va在线观看蜜芽</a>| <a href="http://25gh.com" target="_blank">中国人免费观看高清在线观看二区</a>| <a href="http://0769wwt.com" target="_blank">国产成人精品久久亚洲高清不卡 </a>| <a href="http://513109.com" target="_blank">jizz免费在线观看</a>| <a href="http://taobaohuopin.com" target="_blank">亚洲一区二区三区在线观看精品中文 </a>| <a href="http://25v8.com" target="_blank">**真实毛片免费观看</a>| <a href="http://bet06966.com" target="_blank">久久亚洲国产精品成人AV秋霞</a>| <a href="http://xzdlgp.com" target="_blank">h视频在线观看免费完整版</a>| <a href="http://bjbf99.com" target="_blank">亚洲一区免费在线观看</a>| <a href="http://367316.com" target="_blank">日韩精品免费一区二区三区</a>| <a href="http://xass1.com" target="_blank">免费一区二区无码视频在线播放</a>| <a href="http://k4h3.com" target="_blank">国产专区一va亚洲v天堂</a>| <a href="http://w6446.com" target="_blank">久久精品免费观看</a>| <a href="http://se988.com" target="_blank">亚洲av无码久久忘忧草</a>| <a href="http://guakao88.com" target="_blank">国产成人免费a在线视频色戒</a>| <a href="http://aa7852.com" target="_blank">japanese色国产在线看免费</a>| <a href="http://128313.com" target="_blank">久久青青草原亚洲AV无码麻豆</a>| <a href="http://zgfxshop.com" target="_blank">美女内射毛片在线看免费人动物 </a>| <a href="http://haiholr.com" target="_blank">国产亚洲精品美女久久久久</a>| <a href="http://hs969.com" target="_blank">国产偷国产偷亚洲清高动态图</a>| <a href="http://1877808.com" target="_blank">色猫咪免费人成网站在线观看</a>| <a href="http://www999973.com" target="_blank">亚洲午夜电影在线观看高清</a>| <a href="http://wwwabxx.com" target="_blank">国产乱人免费视频</a>| <a href="http://www4jbd.com" target="_blank">久久久精品免费国产四虎</a>| <a href="http://hssw1688.com" target="_blank">激情五月亚洲色图</a>| <a href="http://qiyupu.com" target="_blank">国产精品V亚洲精品V日韩精品</a>| <a href="http://dd99com.com" target="_blank">久久精品免费一区二区</a>| <a href="http://www24ckck.com" target="_blank">色老头综合免费视频</a>| <a href="http://99rlcf.com" target="_blank">中文字幕亚洲免费无线观看日本</a>| <a href="http://1111xxxx.com" target="_blank">日韩免费无码一区二区视频</a>| <a href="http://dfcnpc.com" target="_blank">二区久久国产乱子伦免费精品 </a>| <a href="http://zf91.com" target="_blank">91在线亚洲综合在线</a>| <a href="http://81am.com" target="_blank">亚洲人成网7777777国产</a>| <a href="http://ittenyear.com" target="_blank">中文字幕无码不卡免费视频 </a>| <a href="http://yaojing123.com" target="_blank">一级特黄aa毛片免费观看</a>| <a href="http://5r7b.com" target="_blank">亚洲国产精品精华液</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>